簡體   English   中英

如何 select 所有數據 + laravel Eloquent 中的數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM