问题
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:
Use contains() method:
$player->team->contains($teamId);
The contains method determines whether the collection contains a given item
来源:https://stackoverflow.com/questions/41713730/best-way-to-check-if-a-model-exists-in-a-many-to-many-relationship