我有3个模型,我想从a开始并加载与b的关系,我也想在b和c之间加载关系,那有可能吗?这是我想在代码中执行的操作:
AccommodationRoomModel which is the B model:
public function accommodation(){
return $this->belongsTo(Accommodation::class);
}
public function roomPricingHistory(){
return $this->hasMany(RoomPricingHistory::class);
}
并在住宿模式中:
public function accommodationRoom()
{
return $this->Hasmany(AccommodationRoom::class);
}
最后确定房间的价格历史:
public function accommodationRoom(){
return $this->belongsTo(AccommodationRoom::class);
}
现在在我的住宿控制器中,我想获取房间的所有住宿,并且要从房间中获取价格,所以就在这里
A = Accomodation
B = Room
C = price
我想这样打电话
From A get B and The relation Of it with C and show all in A
答案 0 :(得分:1)
A :: with('B.C');
答案 1 :(得分:1)
您可以为此使用Laravels嵌套的预加载:
来自docs:
要急于加载嵌套关系,可以使用“点”语法。对于 例如,让我们急于加载该书的所有作者和所有 一位雄辩的陈述中作者的个人联系人:
$books = App\Book::with('author.contacts')->get();
在您的情况下:
$accomodations = Accomodation::with('accommodationRoom.roomPricingHistory')->get();