概要
EloquentのEagerロード、便利ですよね。いつも脳死でHoge::with('huga')->get()
って書いてたんですけど、カラム指定出来るみたいです
使うカラムだけ指定する
DB
ユーザーテーブルと予定テーブル
予定レコードからユーザー名だけ取得して使用したい場合はwith('user:id,name')
と記述します。
リレーションに必要な主キーや外部キーは必ず指定してください。
今回の場合だとid
が必ず必要
さんぷる
dd([
'ビフォー' => Schedule::with('user')->first()->user->getOriginal(),
'アフター' => Schedule::with('user:id,name')->first()->user->getOriginal()
]);
結果
array:2 [▼ // app/Http/Livewire/Sample1202.php:21
"ビフォー" => array:9 [▼
"id" => 1
"name" => "田中太郎"
"email" => "rau.terry@example.net"
"email_verified_at" => Illuminate\Support\Carbon @1670220795 {#1393 ▶}
"password" => "$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi"
"remember_token" => "rfxTH8ZLXy"
"created_at" => Illuminate\Support\Carbon @1670220795 {#1412 ▶}
"updated_at" => Illuminate\Support\Carbon @1670220795 {#1415 ▶}
"deleted_at" => null
]
"アフター" => array:2 [▼
"id" => 1
"name" => "田中太郎"
]
]