在我的控制器中,我在数据库查询中使用Laravels WhereNull
,OrWhere
和WhereRaw
。它正在提取所有结果,但问题在于它看起来像是在提取所有内容,而忽略了最后一个Where子句。我在其他控制器上以其他方法使用了它,并且效果很好。是否有特定的订单或我缺少的东西?
不起作用(忽略WhereRaw并显示所有结果)
$lists = DB::table('statuses')
->whereNull('company_id')
->orWhere('company_id', '=', Auth::user()->company_id)
->whereRaw("FIND_IN_SET('Task',assigned_to)")
->get();
这在没有whereRaw的其他控制器中也可以用作其他方法:
return Status::whereNull('company_id')->orWhere('company_id', '=', Auth::user()->company_id)
->orderBy('created_at', 'asc')
->get();
样本数据库
源链接:https://laravel.com/docs/5.3/queries#where-clauses
最佳答案
使用DB::raw
代替whereRaw
->where(DB::raw("FIND_IN_SET('Task',assigned_to)"))
关于php - Laravel:WhereNull或OrWhere忽略WhereRaw,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43107827/