关系不起作用

时间:2017-09-24 11:34:41

标签: php laravel laravel-5.4 relationship

我正在使用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表

1 个答案:

答案 0 :(得分:1)

链接表名称是从相关模型名称的字母顺序派生的。例如:用户模型和辅助模型将通过 assist_user 表进行链接。

但在您的情况下,您应该通过将第二个参数传递给 belongsToMany 方法来覆盖此约定:

 public function user(){
      return $this->belongsToMany(User::class, 'assist_members');
 }