mysql - Laravel 5.8,where 子句中带有 Count(*) 的棘手子查询

标签 mysql laravel subquery

我需要在 where 子句中编写一些棘手的子查询

所以,我有一个这样的查询

Select * FROM table1
JOIN table2 ...
LEFT JOIN table3 ...
WHERE (SELECT COUNT(*) FROM some_table where some_condition) = 0;

SQL 工作正常,但如何将其移至 Laravel 中? 是的,我知道我应该使用 DB::raw()但问题是子查询返回计数。例如,计数是 5454。之后,我会得到这样的结果。

->where(5454, '=', 0)

它给了我明显的错误消息:Unknown column 5454 ...

我也尝试过使用 AS count对于子查询,但在这种情况下,我收到另一个明显的错误消息: Syntax error 0_0

那么,有什么建议吗?

最佳答案

尝试

whereRaw("(SELECT COUNT(*) FROM some_table where some_condition) = 0")

这会对你有帮助。

关于mysql - Laravel 5.8,where 子句中带有 Count(*) 的棘手子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57704213/

相关文章:

php - 如何解决magento1.9.1.0这个错误

php - 在 MYSQL 中用 PHP 显示 mysql_query 结果

Laravel 7 - 需要做什么才能将站点置于生产模式?

python - ORDER BY SQLAlchemy 中的子查询

mysql - 更改 mySQL 数据库中特定行的时间字段

php - fatal error : Uncaught exception 'PDOException' : Invalid parameter number: parameter was not defined' on the execution of my $params array

php - 调用 php artisan db :seed does not work without providing a class name

php - 商店注册工作不正常(代码总是转到 "if ($validator->passes()) {...}"的其他部分

mysql - 连接表上的多个查询并获取单个选择结果

mysql - 总结 MySQL 中的前 5 个值