В основном я установил Laravel Scout с TNT Search, все конфиги верны, и они работают, у меня даже есть хорошая панель поиска для работы с рабочим процессом ajax
Но результаты моделей получены из всей коллекции баз данных, где мое требование состоит только в том, чтобы показывать результаты записи записей, созданных пользователем, который в данный момент вошел в сеанс
Модели связаны с помощью Eloquent Relationships, они работают при обычном доступе с помощью метода Auth::user()
, но поиск разведчика, похоже, не привязан ни к одной из моделей с помощью примера Auth::user()
:
App\CourtCase::search($request->q)->get();
Вышеуказанное работает, но вернет любой результат в модели (и лежащей в основе таблице) безотносительно того, принадлежит ли запись или связана с пользователем, вошедшим в систему. Однако мое намерение -
Auth::user()->courtcase()->search($request->q)->get();
Я получаю следующую ошибку:
message Call to undefined method Illuminate\Database\Eloquent\Relations\HasMany::search()
exception BadMethodCallException
file /home/vagrant/code/legistant/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php
Ясно, что это потому, что Laravel Scout не присоединен или недоступен с помощью метода Auth::user()
, я могу написать код для фильтрации результатов после их возвращения, но представьте, что объем результатов выше, прежде чем он будет виден пользователю, кажется, пустая трата всех этих запросов, есть ли способ охватить пользователя, а затем использовать поиск Laravel, подобный Auth::user()
Можно ли изменить поведение Auth для присоединения разведчика, будет ли оно перезаписано с помощью обновления компоновщика Laravel?