我在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');
}
我当然有表格feedbacks
,situations
和feedback_situation
。
在升级之前,这段代码很好:
dd($situation->feedbacks);
但现在它产生了异常:
找不到基表或视图:1146表' example.feedback' 不存在(SQL:选择
feedback
。*,feedback_situation
。situation_id
为pivot_situation_id
, 来自feedback_situation
的{{1}}。feedback_id
pivot_feedback_id
上的feedback
内部加入feedback_situation
。feedback
=id
。feedback_situation
其中feedback_id
。feedback_situation
= 383)
这很奇怪,因为其他关系有效,而且这个关系适用于5.3。
答案 0 :(得分:1)
将受保护的$table = 'feedbacks';
添加到您的反馈模型中,以将模型使用的名称更改为feedbacks