更新后的Laravel(5.3 => 5.4)产生错误的sql
问题描述:
我使用Laravel 5.3进行稳定的项目。更新后的Laravel(5.3 => 5.4)产生错误的sql
今天决定将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
。feedback_id
为pivot_feedback_id
从feedback
内加入feedback_situation
在feedback
。id
=feedback_situation
。其中feedback_situation
。situation_id
= 383)
这很奇怪,因为其他关系有效,而这个关系在5.3上工作。
答
附加保护$table = 'feedbacks';
到您的反馈模型,该模型使用的名称更改为feedbacks
其寻找一个表反馈不反馈计划** S ** – madalinivascu
这就是为什么我问。它应该搜索反馈表。它正在搜索L5.3的反馈表! – frutality
添加受保护的'$ table ='feedbacks';'进入您的反馈模型 – madalinivascu