我有laravel'急切加載'的這個問題。Laravel渴望加載4表
我正與4個相互關聯的表一起工作。
我有這些模態:
<?php
class AgendaPersonalModel extends Model
{
protected $table = 'agenda_personal';
public function periods() {
return $this->hasMany(AgendaPersonalPeriodModel::class, 'agenda_id');
}
}
?>
class AgendaPersonalPeriodModel extends Model
{
protected $table = 'agenda_personal_period';
public function weekdays() {
return $this->hasMany(AgendaPersonalWeekdaysModel::class, 'period_id');
}
<?php
class AgendaPersonalWeekdaysModel extends Model
{
protected $table = 'agenda_personal_weekdays';
public function breaks() {
return $this->hasMany(AgendaPersonalBreakModel::class, 'weekday_id');
}
}
?>
<?php
class AgendaPersonalBreakModel extends Model
{
protected $table = 'agenda_personal_breaks';
}
?>
現在我想將某個對象的 '得到' 的所有數據。
當我這樣做:
$agendaTest = AgendaPersonalModel::with(array('periods', 'periods.weekdays'))->where('id', 1)->first();
它完美的作品
,但是當我這樣做:
$agendaTest = AgendaPersonalModel::with(array('periods', 'periods.weekdays', 'weekdays.breaks'))->where('id', 1)->first();
我收到以下錯誤:
(1/1) RelationNotFoundException
Call to undefined relationship [weekdays] on model [App\Models\AgendaPersonalModel].
in RelationNotFoundException.php (line 20)
你對'AgendaPersonalModel'定義一個工作日的關係?或者你是否想要做'periods.weekdays.breaks'? – Josh
他喬希,它歸結爲:'periods.weekdays.breaks' –