Php 如何在视图中获取laravel pivot表记录?

Php 如何在视图中获取laravel pivot表记录?,php,laravel,laravel-5,eloquent,laravel-5.4,Php,Laravel,Laravel 5,Eloquent,Laravel 5.4,我有三张桌子 用户:id,name 课程:id、用户id、名称 订单:id、用户id、课程id( 数据透视表) 如何在“课程视图”中确保该用户已使用Laravel eloquent购买了此特定课程。首先,您需要定义模型之间的多对多关系: class User extends Model { public function courses() { return $this->belongsToMany(Course::class); } } 一旦您拥有了它,您就可以轻松地检

我有三张桌子

用户:id,name

课程:id、用户id、名称

订单:id、用户id、课程id( 数据透视表)


如何在“课程视图”中确保该用户已使用Laravel eloquent购买了此特定课程。

首先,您需要定义模型之间的多对多关系:

class User extends Model {
  public function courses() {
    return $this->belongsToMany(Course::class);
  }
}
一旦您拥有了它,您就可以轻松地检查用户是否购买了具有给定ID的课程的访问权限:

if ($user->courses()->find($courseId)) {
  // user has access to course with given $courseId
}
如果您只是想在未购买课程时引发错误,请将调用find()替换为调用findOrFail()

if ($user->courses()->findOrFail($courseId)) {
  // user has access to course with given $courseId
}