1
希望你們都做得很好。是否可以使用where子句獲取數據與子關係laravel
我剛剛從CI搬到了Laravel。
我有兩個表 - 預訂 - Booked_Rooms
我想要的是,如果所有的房間都checked_out我會用Booked_Rooms.checkout_at決定爲null,則父記錄應該從數據集中排除。
我試過谷歌,做了一點研究,但無法找到我實際上看。
我也試過Booking:with(array('rooms',function($q){ // where query }))
,但它仍然提取父記錄。我不想循環遍歷每條記錄,然後排除記錄,因爲它對性能度量不太合適。我也知道我可以通過使用加入來做到這一點,但是我可以使用Eloquent ORM來做到這一點:
摘要:如果所有已預訂房間的所有checkout_at列都不爲空,那麼父預訂記錄被視爲已完成,在等待預訂。
HtlBooking模型類
public function rooms()
{
return $this->hasMany('App\BookedRoom','booking_id');
}
控制器功能
$bookings = HtlBooking::with ('rooms')->with ('user')
->get();