mysql - is null 在 laravel 查询的末尾连接

标签 mysql laravel laravel-5 laravel-5.3

我正在 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/

相关文章:

mysql - 没有子查询的过滤计数和总计数

javascript - 根据复选框数据显示或隐藏 HTML 列表,Laravel 4

laravel - 如何使用 Redis TLS 配置 Laravel 5.7(使用 phpredis)

mysql - Laravel Eloquent 模式搜索无法正常工作

mysql - 选择除第一行之外的所有行

php - 如何在 PHP 函数中的查询中声明变量

regex - Laravel - 正则表达式路由匹配所有内容,但不完全匹配一个或多个单词

laravel - 从 Laravel 5 View 访问供应商文件的简单而干净的方法是什么

mysql - SQL 查询搜索 2 个表

Laravel 5.1 多重认证