我如何解决这个belongsToMany枢轴错误

时间:2019-12-19 16:31:09

标签: laravel eloquent

我与belongsToMany关系具有以下关系

Table:| users | forums  |forum_user (pivot table)
  | id        |  id     | id
  | name      |  name   | user_id
  | email     |         | forum_id
  |           |         |

并定义了以下关系

pubic function forums() {
   return $this->belongsToMany(Forum::class);
}

关于用户模型和

pubic function forums() {
   return $this->belongsToMany(Forum::class);
}

在论坛模型上

现在,当我尝试执行此操作

User::first()->forums()->get()

它返回错误

Symfony\Component\Debug\Exception\FatalErrorException
Type of Illuminate\Database\Eloquent\Relations\Pivot::$ must be array (as in class 
Illuminate\Database\Eloquent\Model)

如何解决该错误

我目前在我的项目中使用laravel 6

2 个答案:

答案 0 :(得分:0)

尝试一下:

User::first()->forums->get();

也许将用户模型上的关系重写为:

return $this->belongsToMany(Forum::class, 'forum_user', 'user_id', 'forum_id');

答案 1 :(得分:0)

在论坛上的模式不应该反映用户吗?

 pubic function forums() {
    return $this->belongsToMany(Forum::class);
 }

这应该不是

 pubic function users() {
    return $this->belongsToMany(User::class);
 }