搜尋

首頁  >  問答  >  主體

Laravel 中的排序:按不同列排序(先按整數,然後按字串)

我列出了按 device.sort_order 整數列訂購的項目,該列工作正常。

$parts = \App\DevicePart::with('device')->get()->sortBy('device.sort_order')->values();

@foreach($parts as $i)
  {{ $i->device->sort_order }} - {{ $i->title }}
@endforeach

這將產生一個如下所示的列表:

1 - Carga
1 - Baseband
2 - Baseband
2 - Conectores
2 - Camera

所以,現在我想透過 title 欄位對其進行二次排序,而不丟失第一順序,因此 ITEM TITLES 可以按字母順序顯示。

1 - Baseband
1 - Carga
2 - Baseband
2 - Camera
2 - Conectores

有什麼辦法可以做到這一點嗎?

P粉124890778P粉124890778234 天前413

全部回覆(1)我來回復

  • P粉099985373

    P粉0999853732024-03-31 17:09:15

    使用 ORDER BY sort_order, title,它在 Laravel 中的等效項是:

    $parts = \App\DevicePart::with('device')
        ->orderBy('sort_order')
        ->orderBy('title')
        ->get();
    

    回覆
    0
  • 取消回覆