ABCウェブエンジニアblog

Webデザイナー/エンジニア/講師のホームページ・ウェブサイト制作の備忘録

【Laravel6】リレーション先のカラムでソート

LaravelのEloquent ORMはSQLを意識せずデータベースを扱えてとても便利です。

ただリレーション先のカラムで主テーブルごとソートするのは一工夫必要。

 

一工夫というかクエリビルダの「JOIN」を使います!

 

//USERSのリレーション先のPLANSテーブルのTYPEカラムで並び替え
 $users = User::select('users.*')
->join('plans', 'plans.user_id', '=', 'users.id')
->orderBy('plans.type');
 

 

使いこなせればあらゆる検索、並び替えに対応出来そうです。

 

参考

readouble.com

qiita.com

pgmemo.tokyo