[英]how to select all the data + joined data in laravel Eloquent
我有一個連接查詢,它根據酒店的房間折扣顯示和排序酒店,如下所示:
$direction = $descending ? 'DESC' : 'ASC';
$data = $query->join('accommodation_rooms', 'accommodations.id', '=', 'accommodation_rooms.accommodation_id')
->join('discounts', 'accommodation_rooms.id', '=', 'discounts.accommodation_room_id')
->select('accommodations.*', 'accommodation_rooms.*', 'discounts.*')
->orderBy('discounts.amount', 'desc');
return $data;
現在這個查詢只選擇有折扣房間的酒店,最后,它對它們進行排序,但我想選擇所有住宿並首先顯示房間有折扣的酒店。 我想要做的是,如果房間上存在折扣金額並且沒有任何反應,我想要獲得所有住宿並對折扣金額進行排序。
改用leftJoin
加入折扣。 左連接將包括您開始的表中的所有行,並在第二個表上的不匹配行上加入null
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.