如何在使用OR运算符时使用高级where子句

Bil*_*lly 3 laravel eloquent

我如何生成一个显示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
Run Code Online (Sandbox Code Playgroud)

所以基本上我希望得到的行是:

id|user_id|member|football|tennis|cricket
1 | 1     |Yes   | 1      | NULL | NULL
6 | 1     |Yes   | NULL   | 1    | 1
Run Code Online (Sandbox Code Playgroud)

到目前为止我有这个:

$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');
     });
Run Code Online (Sandbox Code Playgroud)

Ben*_*aar 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()
;
Run Code Online (Sandbox Code Playgroud)