2017-12-27 18 views
2

Ich habe viele, viele Beziehung:Laravel zu überprüfen, ob Sammlung Modell enthält

users (id) 

user_game (user_id, game_id) 

games (id, title) 

Ich möchte überprüfen, ob ein Spiel auf einem bestimmten Benutzer zugeordnet ist:

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

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

Antwort

1

Für many-to-many können Sie contains() Methode verwenden:

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

Sie ->user() verwenden können, so würde der Code werden:

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

find(1) nur ein Beispiel zur Veranschaulichung ist. Sie können auch überprüfen.

0

Sie verwenden können, wo Klausel Spiel Existenz in der Benutzer-Spielliste zu überprüfen:

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