![[Laravel]ネストされたテーブルのリレーションを取得する方法](https://www.yukiiworks.com/wp-content/uploads/2019/05/laravel.png)
はじめに
Laravelにてネストされたテーブルのリレーションを取得する方法。
ユーザーテーブル→ユーザー基本情報テーブル→ユーザー詳細情報みたいなリレーションの貼られたテーブル(リレーション先の先みたいな。。。)でデータをまとめて取得したい時に使います。
テーブル例は無理やり感がありますが。。。
方法
ネストされたテーブルのリレーションは以下のように取得できます。
もちろんモデルにリレーションの定義がされているのが前提です。
1 | User::with('userBaseInfo.userInfoDetail')->get(); |
userBaseInfoはユーザーに紐づくユーザー基本情報テーブルとして定義されているとします。
userInfoDetailはユーザー基本情報テーブルに紐づくユーザー詳細テーブルとした場合です。
ドットでつなげてその先のリレーションが定義されているメソッドを指定することによってまとめて取得することができます。
また、以下のようにさらにドットでつなげてリレーション先の先の先みたいなネストされたテーブルのリレーションも取得できます。
1 | Questionnaire::with(‘questions.answers.userAnswers')->get(); |
知っていると知っていないでは実装に結構違いが出てくると思いますよね。
以上です。
![[Laravel]Formの配列をバリデーションでチェックする方法](https://www.yukiiworks.com/wp-content/uploads/2019/05/laravel-300x209.png)
![[Kotlin][Android]スプラッシュ画面の作成](https://www.yukiiworks.com/wp-content/uploads/2019/04/kotlin-150x150.png)
![[Laravel]バリデーションルールを使って特定のカラムで存在チェックする方法](https://www.yukiiworks.com/wp-content/uploads/2019/05/laravel-150x150.png)
![[Python3]Enumで定義した値のリストを取得する](https://www.yukiiworks.com/wp-content/uploads/2019/11/python-logo-150x150.png)
![[iOS]XPC connection interruptedエラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/09/Xcode-150x150.png)
![[Flutter]debugとreleaseビルドをコードから判別する方法](https://www.yukiiworks.com/wp-content/uploads/2020/08/flutter-150x150.png)
![[Google Play Console]アップロードできませんでした Android App Bundle は署名されていません。エラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/06/google-play-150x150.jpg)
![[bootstrap-tagsinput]タグ入力欄のinput要素の横幅を最大にする](https://www.yukiiworks.com/wp-content/uploads/2019/05/javascript-150x150.png)
