laravel - Laravel:搜索查询
问题描述
这是我在多个表中获取数据的查询。
查询外观:
$userPostDetails = Post::with(['product','postattribute.attribute.category','user.userDetails'])
->orderBy('id','desc')
->get();
它根据我的查询返回所有数据。
现在我想要在查询中的所有表中进行搜索,即
[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
?
我怎样才能做到这一点 ?
解决方案
我认为使用 Laravel Searchable (sofa eloquence) 会有所帮助。
运行作曲家需要沙发/口才
例如在每个模型中
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/
希望能帮助到你。
推荐阅读
- angular - Angular:拖放树 - 自定义
- python - 使用 TensorFlow Eager Execution 和 tf.keras 时警告“试图解除分配 nullptr”
- django - 使用 sorl_thumbnail 从 x 和 y 位置裁剪图像
- c++ - C++ 选择文件夹,包含文件
- angular - 通过 filter 方法渲染 html 组件
- java - 如何从 Java Functions Worker 获取 Java 堆?
- python - 在 pandas 数据框中形成大词组
- node.js - 如何在 NodeJS 上使用本机 Ajax 通过 Post 请求发送对象
- sql-server - 将具有复合主键引用的列添加到分层表
- r - 删除 Y 轴标题后图表发生变化