Как использовать метод searcable()
для результатов, возвращаемых построителем запросов? Предположим, что есть пять таблиц:
- товары
- продавцы
- категории
- vendor_products (сводная таблица для продуктов и поставщиков)
- product_categories (сводная таблица для продуктов и категорий)
Есть ли способ использовать поиск по следующему запросу:
return \DB::table("products")
->join('vendor_products', function ($join) {
$join->on('products.id', '=', 'vendor_products.product_id')
->MANY_OTHER_WHERE_CONDITIONS
})
->join('categories', function ($join) {
$join->on('category_id', '=', 'categories.id');
})
->MANY_OTHER_CONDITIONS
->searchable()
Но Laravel Scout возвращает ошибку:
Call to undefined method Illuminate\Database\Query\Builder::searchable()
Есть ли способ загрузить результаты вышеуказанного запроса? Я добавил поисковый признак для продавцов, категорий и моделей продуктов.
Похоже, что Scout работает только тогда, когда у нас есть отношения Eloquent, возвращенные из запроса, и он не работает с построителем запросов.