关系不工作

Relation Not working

我正在使用 Laravel 5.4 并且我有 3 tables

users
assist
asist_members

assist_members table 包含

id | assist_id | user_id

我正在尝试使用关系获取所有数据 我在辅助模型中添加了以下关系,在这个模型中我提到了 table 名称,主键并添加了以下关系

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]: Base table or view not found: 1146 Table

链接 table 名称是根据相关型号名称的字母顺序派生的。例如:User 模型和 Assists 模型将通过 assist_user table.

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

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