$model * @param string|null $loadRelation * @return static */ public function useScout(string $model, ?string $loadRelation = null): static { if (in_array(Searchable::class, class_uses_recursive($model))) { return $this ->allowHtml() ->searchable() ->getOptionLabelUsing(fn ($state) => BelongsTo::getSearchLabelWithBlade((new $model)::find($state))) ->getSearchResultsUsing(function (string $search) use ($model, $loadRelation) { return (new $model)::search($search) ->take(25) ->get() ->load($loadRelation ?? []) ->mapWithKeys(fn (BaseModel $model) => [$model->getKey() => BelongsTo::getSearchLabelWithBlade($model)]) ->toArray(); }); } return $this->searchable(); } }