我正在使用Laravel 5.4,我有3张桌子
users
assist
asist_members
assist_members表包含
id | assist_id | user_id
我正在尝试使用关系获取所有数据 我在Assist Model中添加了以下版本,并且在我的模型中我提到了表名,主键并添加了以下关系
public function user(){
// return $this->belongsTo(User::class,'user_id','id');
return $this->belongsToMany(User::class,'user_id');
}
当我尝试回复时我得到了错误
$response=Assist::with('user')->get();
如果我打印$ response我收到错误
SQLSTATE [42S02]:找不到基表或视图:1146表
答案 0 :(得分:1)
链接表名称是从相关模型名称的字母顺序派生的。例如:用户模型和辅助模型将通过 assist_user 表进行链接。
但在您的情况下,您应该通过将第二个参数传递给 belongsToMany 方法来覆盖此约定:
public function user(){
return $this->belongsToMany(User::class, 'assist_members');
}