我如何制作一个显示user_id 1的查询,该俱乐部的成员以及足球,网球或板球的主题。
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
所以基本上我希望得到的行是:
id|user_id|member|football|tennis|cricket
1 | 1 |Yes | 1 | NULL | NULL
6 | 1 |Yes | NULL | 1 | 1
到目前为止,我有这个:
$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');
});
答案 0 :(得分:5)
啊,你加入了Advanced Where用户的行列 - 欢迎!
$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()
;