Laravel 更新后 (5.3 => 5.4) 产生错误 sql

Laravel after update (5.3 => 5.4) produces wrong sql

我有 Laravel 5.3 的稳定项目。

今天决定将 Laravel 升级到 5.4,然后升级到 5.5。我正在关注官方升级指南。

升级 5.4 后一切似乎都正常.. 除了一件事。我的多个 belongsToMany 关系之一现在产生了错误的 sql.

我有模型 App\Situation 关系:

public function feedbacks()
  {
    return $this->belongsToMany('App\Feedback');
  }

App\Feedback 模型具有:

public function situations()
  {
    return $this->belongsToMany('App\Situation');
  }

我当然有表 feedbackssituationsfeedback_situation。 升级前这段代码没问题:

dd($situation->feedbacks);

但现在它产生异常:

Base table or view not found: 1146 Table 'example.feedback' doesn't exist (SQL: select feedback.*, feedback_situation.situation_id as pivot_situation_id, feedback_situation.feedback_id as pivot_feedback_id from feedback inner join feedback_situation on feedback.id = feedback_situation.feedback_id where feedback_situation.situation_id = 383)

这很奇怪,因为其他关系有效,而这个在 5.3 上有效。

将 protected $table = 'feedbacks'; 添加到您的反馈模型中,将模型使用的名称更改为 feedbacks