搜尋

首頁  >  問答  >  主體

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

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

1

2

3

4

5

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

 

@foreach($parts as $i)

  {{ $i->device->sort_order }} - {{ $i->title }}

@endforeach

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

1

2

3

4

5

1 - Carga

1 - Baseband

2 - Baseband

2 - Conectores

2 - Camera

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

1

2

3

4

5

1 - Baseband

1 - Carga

2 - Baseband

2 - Camera

2 - Conectores

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

P粉124890778P粉124890778274 天前466

全部回覆(1)我來回復

  • P粉099985373

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

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

    1

    2

    3

    4

    $parts = \App\DevicePart::with('device')

        ->orderBy('sort_order')

        ->orderBy('title')

        ->get();

    回覆
    0
  • 取消回覆