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');
}
我当然有表 feedbacks
、situations
和 feedback_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
我有 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);
但现在它产生异常:
Base table or view not found: 1146 Table 'example.feedback' doesn't exist (SQL: select
feedback
.*,feedback_situation
.situation_id
aspivot_situation_id
,feedback_situation
.feedback_id
aspivot_feedback_id
fromfeedback
inner joinfeedback_situation
onfeedback
.id
=feedback_situation
.feedback_id
wherefeedback_situation
.situation_id
= 383)
这很奇怪,因为其他关系有效,而这个在 5.3 上有效。
将 protected $table = 'feedbacks';
添加到您的反馈模型中,将模型使用的名称更改为 feedbacks