检查模型是否存在多对多关系的最佳方法

时间:2017-01-18 07:38:20

标签: laravel eloquent

我将一些数据发布到服务器,并根据该数据(id)检索Player。我使用以下代码:

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

但是,我想检查此Player是否属于特定的Team - belongsToMany关系。

有没有比以下更好的方式:

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

team()而不是teams(),即使它是多对多的。

1 个答案:

答案 0 :(得分:7)

使用contains()方法:

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

contains方法确定集合是否包含给定项