![[Laravel]指定のレコードだけは先頭にして抽出する方法](https://www.yukiiworks.com/wp-content/uploads/2019/05/laravel.png)
はじめに
Laravelを使用していてDBからレコードを抽出してきた際に指定のレコードだけを先頭にしたいということがあったためその時のめも。
例えば以下のレコードがあったとして
| id | name | point |
| 1 | 東京支店 | 100 |
| 2 | 本店 | 10 |
| 3 | 大阪支店 | 80 |
| 4 | 名古屋支店 | 80 |
IDが2の本店だけは先頭ににしてあとはpoint順にしたいというパターン。
pointは例えるなら各店舗毎の成績と見立てると、成績順にソートしたいけど、本店だけは必ず一番最初にしたい。ということ。
方法
以下のコードのようにします。
$storesは成績順(point)で抽出したModelのCollectionとします。
1 2 3 | $stores = $stores->sort(function ($a, $b) { return ($a->id === 2) ? -1 : 1; }); |
sortを使用します。先に成績順(point)で抽出済みなのであとは本店(id=2)を先頭に持ってくるだけ。
以上です。
![[Swift]unrecognized selector sent to instance エラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/04/swift-300x300.png)
![[Android]ActionBarにボタン(メニュー)を設置する](https://www.yukiiworks.com/wp-content/uploads/2019/04/android-150x150.jpg)
![[Android][Kotlin]ToolBarのタイトルを消す方法](https://www.yukiiworks.com/wp-content/uploads/2019/10/android-studio-e1585186990750-150x150.jpg)
![[Flutter]Chopperを使用したリクエストでリクエストのHeadersに値を追加する方法](https://www.yukiiworks.com/wp-content/uploads/2020/08/flutter-150x150.png)
![[Swift]unrecognized selector sent to instance エラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/04/swift-150x150.png)
![[Laravel]datetime型の項目を年・月・日・日付・時刻で検索する方法](https://www.yukiiworks.com/wp-content/uploads/2019/05/laravel-150x150.png)
![[AWS]Lambdaの環境変数をCLIコマンドで設定する](https://www.yukiiworks.com/wp-content/uploads/2020/04/lambda30-150x150.png)
![[iOS]Can’t end BackgroundTask: no background task exists with identifier 1 (0x1), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.エラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/09/Xcode-150x150.png)
