※この記事は初学者が書いています。おかしな部分などありましたら教えて頂けると嬉しいです※
環境:Laravel 6.2
sortByとorderByの違い
Laravel公式には
sortByメソッドは指定したキーでコレクションをソートします。
orderByメソッドは指定したカラムでクエリ結果をソートします。
と書かれている
これがそのまま答えとなり、
sortByは User::get()->sortBy('id');
のように、
get等で取得したコレクションをソートする時につかう。
当然getする前はコレクションではないので
User::sortBy('id')->get();
のような使い方はできない。
orderByは逆で User::orderBy('id')->get();
のように
get等で取得する前のクエリのソートにつかう。
User::get()->orderBy('id');
のようにコレクションに対して使うことはできない。
AscとDescについて
Ascは昇順(小さい順)、Descは降順(大きい順)。
sortByもorderByもデフォルトが昇順なので
sortByならsortBy('id')
が昇順、sortByDesc('id')
が降順。
orderByならorderBy('id')
が昇順、orderByDesc('id')
が降順。
なお、orderByはorderBy('id','desc')
という書き方もある。