![[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)
![[Swift]unrecognized selector sent to instance エラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/04/swift-150x150.png)
![[Android][Kotlin]文字列をSHA-1でハッシュ化する方法](https://www.yukiiworks.com/wp-content/uploads/2019/04/kotlin-150x150.png)
![[bootstrap-tagsinput]タグ入力欄でEnterキー押下時にSubmitさせない方法](https://www.yukiiworks.com/wp-content/uploads/2019/05/javascript-150x150.png)
![[Docker]MacにてDockerをインストールする方法](https://www.yukiiworks.com/wp-content/uploads/2019/08/docker-logo-2-150x150.png)
![[Python][Crypto]Module Not Found Error](https://www.yukiiworks.com/wp-content/uploads/2019/11/python-logo-150x150.png)
![[Laravel][mailtrap]Expected response code 354 but got code ''550'', with message ''550 5.7.0 Requested action not taken: too many emails per second ''エラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/05/laravel-150x150.png)
![[超簡単!]情報処理試験のための論理回路の覚え方](https://www.yukiiworks.com/wp-content/uploads/2019/03/code1211IMGL1494_TP_V4-150x150.jpg)

