2017-12-27 6 views
2

が含まれている場合、私は多くの関係に多くを持っている:laravelチェックコレクションはモデル

users (id) 

user_game (user_id, game_id) 

games (id, title) 

私はゲームが特定のユーザーに関連付けられているかどうかを確認したい:

$user = User::find(1); 
$game = Game::where('title', 'pacman'); 

$gameUsers = $game->users() 
$gameHasUser = >>> $gameUsers contains $user <<< // How can I do this? 

答えて

1

:句は、ユーザのゲームリストにゲームの存在を確認するためにどこを使用でき

$game = Game::where('title', 'pacman')->first(); 
if ($game->users->contains($userId)) { 
    // Do something. 
} 
0

あなたは->user()を使用することができ、ので、あなたのコードはなる:

$gameHasUser = $gameUsers->find(1)->user() 

find(1)は、説明のための単なる一例です。 Eloquent Loading Relationships Laravel Docも確認できます。

あなたが contains()メソッドを使用することができ、多対多の場合
0

$user = User::find(1); 
$gameHasUser = $user->games()->where('title', 'pacman')->isNotEmpty();