![[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 Studio 3.5]Cause: buildOutput.apkData must not be nullエラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/10/android-studio-e1585186990750-150x150.jpg)
![[Python][tkinter]cx_Freezeでパッケージ化するappファイルをRetinaディスプレイに対応させる方法](https://www.yukiiworks.com/wp-content/uploads/2019/11/python-logo-150x150.png)
![[Flutter]ListViewの区切り線をつけたときにできる余白を消す方法](https://www.yukiiworks.com/wp-content/uploads/2020/08/flutter-150x150.png)
![[Laravel]リレーション先テーブルにデータが存在するものだけを取得する方法](https://www.yukiiworks.com/wp-content/uploads/2019/05/laravel-150x150.png)

