我已经为表格users
和创建了数据透视表courses
。
用户可以有许多课程,而一个课程可以有许多课程。所以,
在 Course.php
public function user(){
return $this->hasMany('User');
}
和在 User.php
public function courses(){
return $this->hasMany('Course');
}
当我尝试调用以下查询时,出现错误。
$user = User::where('id', Auth::user()->id)->first();
$courses = $user->courses->get();
错误:
SQLSTATE [42S22]: Column not found: 1054 Champ 'courses.user_id unknown in where clause (SQL: select * from `` Where courses` courses`.`user_id` = 3)
可能是什么问题?我做对了吗?
您必须返回关系。另外,您需要belongsToMany()
用于多对多关系。
public function user(){
return $this->belongsToMany('User');
}
和
public function courses(){
return $this->belongsToMany('Course');
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句