我正在 Laravel 中打印下面的 Sql 查询
$CheckIfAssigned = Projects::select(DB::Raw('count(projects.id) as projects'))
->leftJoin('project_team as pt', 'projects.id', '=', 'pt.project_id')
->where(DB::Raw('(projects.id = '.$projectId.') AND ( project_manager_id = '.$LoggedInUserId.' OR pt.employee_id = '.$LoggedInUserId.')'))->toSql();
我得到的结果是:
select count(projects.id) as projects from `projects` left join
`project_team` as `pt` on `projects`.`id` = `pt`.`project_id`
where (projects.id = 13) AND ( project_manager_id = 9 OR pt.employee_id = 9) is null
为什么我没写,最后的Sql Query里还是有is null
?
最佳答案
where
函数需要第二个参数,而您没有提供,第二个参数的默认值为 null
,这就是为什么 is null
附加到您的查询。您可以改用 whereRaw
函数来解决您的问题。
关于mysql - is null 在 laravel 查询的末尾连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41136852/