使用OR运算符时如何使用advanced where子句 [英] How to use advanced where clause while using OR operators
本文介绍了使用OR运算符时如何使用advanced where子句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何生成一个查询,显示user_id 1谁是俱乐部的成员,以及足球或网球或板球的对象。
How would I produce a query that displays user_id 1 whos a member of the club and subjects that are either football or tennis or cricket.
id|user_id|member|football|tennis|cricket
1 | 1 |Yes | 1 | NULL | NULL
2 | 1 |Yes | NULL | NULL | NULL
3 | 2 |Yes | NULL | 1 | NULL
4 | 3 |Yes | 1 | 1 | NULL
5 | 1 |No | NULL | 1 | NULL
6 | 1 |Yes | NULL | 1 | 1
所以基本上我希望生成的行是:
So basically I would like the resulting rows to be:
id|user_id|member|football|tennis|cricket
1 | 1 |Yes | 1 | NULL | NULL
6 | 1 |Yes | NULL | 1 | 1
到目前为止我已经有了:
So far I have this:
$user = Model::where(function ($query) {
$query->where('cricket', 1)
->orWhere('tennis', 1);
->orWhere('football', 1);
})->where(function ($query) {
$query->where('user_id', '=', 1)
->Where('member', '=', 'Yes');
});
推荐答案
啊,你加入了高级在哪里用户 - 欢迎!
Ah, you've joined the ranks of Advanced Where users -- welcome!
$user = Model::
->where('user_id', 1)
->where('member', 'Yes')
->where(function($query) {
$query
->where('cricket', 1)
->orWhere('tennis', 1);
->orWhere('football', 1);
})
->select(['id', 'user_id', 'member', 'football', 'tennis', 'cricket'])
->get()
;
这篇关于使用OR运算符时如何使用advanced where子句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文