Laravel 5联接表

时间:2016-05-19 12:40:18

标签: sql laravel

是否有可能仅在我的用户id!=来自db。

的用户ID的列上加入表用户
$games = Games::where('status', '=', 2)->where('owner_user_id', Auth::user()->id)->orWhere('join_user_id', Auth::user()->id)->orderBy('games.updated_at', 'desc')->paginate(10);

enter image description here

问题是: 如何连接用户表,其中owner_user_id和join_user_id!= 30。 所以我只想加入用户表1304和49.它唯一的例子。

2 个答案:

答案 0 :(得分:1)

Games::where('status', '=', 2)
      ->join('users', function($join){
            $join->on('users.id', '=', 'games.owner_user_id')
                 ->where('user.id', '!=', Auth::user()->id);
            })
      ->orderBy('games.updated_at', 'desc')
      ->paginate(10);

这样的东西?

答案 1 :(得分:1)

您需要使用use函数将数据传递到join

      $id = 1; // whatever id of other user
      Games::where('status', '=', 2)
          ->join('users', function($join)use($id){ // Here you need to pass user Id
                $join->on('users.id', '=', 'games.owner_user_id')
                     ->where('user.id', '!=', $id);
                })
          ->orderBy('games.updated_at', 'desc')
          ->paginate(10);