【发布时间】:2021-08-24 16:28:52
【问题描述】:
我正在为 Laravel Scout 构建一个查询。
$subchanResults = Subchan::search($query)
->when($request->input('incl_nsfw'), function ($query, $incl_nsfw) {
if ($incl_nsfw == 0) {
return $query->where('nsfw','!=', 'always');
}
}, function ($query) {
return $query->where('nsfw','!=', 'always');
})
->paginate(3);
Laravel Scout 只允许基本的 where 子句,不允许任何高级条件子句,所以到目前为止它有点棘手。 (文档:https://laravel.com/docs/8.x/scout#where-clauses)
我的问题在于这一行:return $query->where('nsfw','!=', 'always');
Scout 似乎允许使用简单的 where('column','value') ,但如果我尝试将第三个参数添加到 where 子句(不等于),它就不起作用了。
我怎样才能使这个查询工作?还是我必须在查询后自己手动修剪结果?
【问题讨论】:
标签: laravel laravel-scout