Laravel参数分组(和/或位置)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel参数分组(和/或位置)相关的知识,希望对你有一定的参考价值。

我将Laravel升级为版本7,并且当我执行这样的查询时:

$users = User::where('name', '=', 'John')
           ->where(function ($query) {
               $query->where('votes', '>', 100)
                     ->orWhereNull('title');
           })
           ->get();

无法正常工作,并且出现此错误[SQL Server] Must specify table to select from

因为SQL应该像这样:

select * from users where name = 'John' and (votes > 100 or title is null)

但是当我调试返回的查询时,它显示如下:

select * from users where name = 'John' and (select * votes > 100 or title is null) is null

上面的查询只是我的复杂查询的一个示例,在我的所有项目中我都非常喜欢此查询,因此我不需要替换,我只需要知道如何解决它,因为它可以正常工作升级

答案
$users = Table::whereRaw(" name=? AND (votes=? OR title=?)", array(?,?,?))
另一答案
None

以上是关于Laravel参数分组(和/或位置)的主要内容,如果未能解决你的问题,请参考以下文章

慢查询分组,加入MYSQL laravel

Laravel 5.3:语法错误或访问冲突:1463 HAVING 子句中使用了非分组字段“距离”

Laravel 分组路由啥是最好的前缀或中间件

Laravel5.1 路由 -路由分组

Laravel 查询构建器 - 如何按别名分组,或进行原始 groupBy

Laravel分组路由什么是最好的前缀或中间件