这是我在多个表中获取数据的查询。
查询:
$userPostDetails = Post::with(['product','postattribute.attribute.category','user.userDetails'])
->orderBy('id','desc')
->get();
根据我的查询返回所有数据。
现在我想要的是我在查询中的所有表中搜索</ p>
[Post,Products,post_attributes,attrbute,category,users,userdetails]
所以如果在我的搜索参数中,如果我有
的搜索参数 categroyTitle
它将返回搜索详细信息。如果NULL
返回全部。
我要搜索的所有表格相同:
如果我想在posts
表中搜索Active
发布我尝试过的内容
if(isset($any_or_active)) {
$is_any_active = $any_or_active;
}
并在上面的查询中添加此内容
->whereIn('demand_or_supply', $is_demand_supply)
但是如果
$is_demand_supply
是NULL
?
我该怎么做?
答案 0 :(得分:0)
我认为使用Laravel Searchable(沙发口才)会有所帮助。
运行 作曲家需要沙发/口才
在每个模型中 例如
use Sofa\Eloquence\Eloquence;
protected $searchableColumns = [
'country.name'(relation) => 20 (weight),
'user.email' => 10,
'user.name' => 25,
'user.type' => 5,
'gender' (attribute) => 10 (weight),
'nationality' => 2,
];
这是github上这个包的链接 https://github.com/jarektkaczyk/eloquence
从其网站上,这是一个详细的解释 https://softonsofa.com/laravel-searchable-the-best-package-for-eloquent/
希望它有所帮助。