Best way to check if a Model exists in a many-to-m

2019-07-25 00:17发布

I have some data being posted to the server and am retrieving a Player based on that data (an id). I am using the following code:

$player = Player::findOrFail($player_data['id']);

However, I want to check that this Player belongs to a specific Team - a belongsToMany relationship.

Is there a better way than something like:

if (! count($player->team()->find($teamId))) {
    // exit early, form may have been 'hacked'
    abort(404);
}

?

team() and not teams(), even though its a many-to-many.

1条回答
一纸荒年 Trace。
2楼-- · 2019-07-25 00:49

Use contains() method:

$player->team->contains($teamId);

The contains method determines whether the collection contains a given item

查看更多
登录 后发表回答