如何对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 关系并且不适用于查询构建器时才有效。