如何在 Laravel eloquent 的“或”条件中应用“与”条件
Posted
技术标签:
【中文标题】如何在 Laravel eloquent 的“或”条件中应用“与”条件【英文标题】:How to apply 'And' condition inside an 'OR' condition in Laravel elequont 【发布时间】:2014-06-22 16:11:08 【问题描述】:我的查询是这样的
SELECT * FROM activities WHERE (active=1 AND linked_project_id IN (2,3) AND GLOBAL=1 OR (linked_project_id=2 AND active=1))
但我不知道如何将 'linked_project_id=2 AND active=1' 放入 AND 与 Laravel。 这是我的代码-
$activities= Activitie::where('active','=',1)->whereIn('linked_project_id',array(2,3))->where('global','=','1')->orWhere('linked_project_id','='2)->where('active','=',1)->get();
但这会产生类似
的结果SELECT * FROM activities WHERE (active=1 AND linked_project_id IN (2,3) AND GLOBAL=1 OR (linked_project_id=2 ) AND active=1)
【问题讨论】:
能否举个例子 【参考方案1】:使用Advanced Wheres。
Model::where(function ($query)
$query->where('a', '=', 1)
->orWhere('b', '=', 1);
)->where(function ($query)
$query->where('c', '=', 1)
->orWhere('d', '=', 1);
);
【讨论】:
以上是关于如何在 Laravel eloquent 的“或”条件中应用“与”条件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Laravel eloquent 的“或”条件中应用“与”条件
如何使用 eloquent hasmanythrough 或 hasonethrough 在 laravel 中加入 3 个表
如何在 Laravel Eloquent Collection 的 each 方法中使用 break 或 continue?
如何在 Laravel Eloquent 查询(或使用查询生成器)中为表起别名?