laravel检查,如果集合包含模型
我有一个多对多的关系: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?
回答:
对于许多一对多你可以使用contains()
方法:
$game = Game::where('title', 'pacman')->first(); if ($game->users->contains($userId)) {
// Do something.
}
回答:
您可以使用->user()
,所以您的代码将变成:
$gameHasUser = $gameUsers->find(1)->user()
find(1)
只是为了说明一个例子。您也可以检查Eloquent Loading Relationships Laravel Doc。
回答:
您可以使用where子句中用户的游戏列表来查看是否存在游戏:
$user = User::find(1); $gameHasUser = $user->games()->where('title', 'pacman')->isNotEmpty();
以上是 laravel检查,如果集合包含模型 的全部内容, 来源链接: utcz.com/qa/266740.html