Laravel 5.6多关系雄辩查询

时间:2018-06-28 19:24:14

标签: php laravel-5 eloquent

所以我有以下数据库结构:

  • 运动
  • 相机
  • sport_has_camera

sport_has_camera中具有关联。

因此表sport_has_camera包含运动和相机的ID。

现在我有一个名为Sport.phpCamera.php的模型。我希望能够做到:Sport::where('name' , $sport_name)->firstOrFail()->cameras将返回该运动的所有相机的信息(在数据库中链接。现在我在Sport.php中拥有它:

public function cameras()
    {
        return $this->hasMany('App\Camera');
    }

但这不能满足我的要求,我该如何解决呢?

1 个答案:

答案 0 :(得分:2)

您正在寻找belongsToMany

https://laravel.com/docs/5.6/eloquent-relationships#many-to-many

return $this->belongsToMany(Camera::class, 'sport_has_camera', 'sport_id', 'camera_id');