我有三张桌子。
用户:id,name
课程:id,user_id,name
订单:id,user_id,course_id( 数据透视表)
我如何确保该用户使用Laravel eloquent购买此特定课程。
答案 0 :(得分:1)
首先,您需要在模型之间定义多对多的关系:
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
}
如果您只是想在未购买课程时引发错误,请拨打查找()来代替 findOrFail():
if ($user->courses()->findOrFail($courseId)) {
// user has access to course with given $courseId
}