Laravel8 eloquent サブクエリに別名を付ける方法

例えば、membersテーブルに”m”という別名を付けたい場合、一般的には以下のようにする。

Member::from('members as m')

しかし、以下の記述でも同じく別名を付けることが可能。

Member::from('members, 'm')

この記述を利用すれば、サブクエリに別名を付けられる。
例えば、$subというサブクエリを作って別名を付けようとすると一般的には以下のような記述になる。

DB::table($sub, 'sub')

しかし、これだと返り値は配列になってしまいモデルとして使用出来ない。
それで、以下のようにすればサブクエリに別名を付けることができ、返り値はmodel型として使用できる。

Member::from($sub, 'sub')

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です