Laravel:WhereNull,OrWhere,忽略了WhereRaw

时间:2017-03-30 03:11:28

标签: php mysql laravel

在我的控制器中,我在数据库查询中使用了Laravels WhereNullOrWhereWhereRaw。它正在提取所有结果,但问题是看起来它正在拉动所有内容并忽略最后的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();

示例数据库 enter image description here

来源链接:https://laravel.com/docs/5.3/queries#where-clauses

1 个答案:

答案 0 :(得分:1)

使用DB::raw代替whereRaw

->where(DB::raw("FIND_IN_SET('Task',assigned_to)"))