本文介绍了在Laravel中结合AND/OR雄辩的查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使用Eloquent编写以下或类似类型的查询?
How can I write following or similar kind of queries using Eloquent?
SELECT * FROM a_table WHERE (a LIKE %keyword% OR b LIKE %keyword%) AND c = 1 AND d = 5
我无法通过将&链接到哪里来以我想要的方式组合AND/OR. or_where函数.
I couldn't combine AND/OR in the way I wanted by chaining where & or_where functions.
推荐答案
您可以嵌套where子句: http://laravel.com/docs/database/fluent#nested-where
You can nest where clauses : http://laravel.com/docs/database/fluent#nested-where
Model::where(function($query)
{
$query->where('a', 'like', 'keyword');
$query->or_where('b', 'like', 'keyword');
})
->where('c', '=', '1');
这应该产生:SELECT * FROM models WHERE (a LIKE %keyword% OR b LIKE %keyword%) AND c = 1
这篇关于在Laravel中结合AND/OR雄辩的查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!