![[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)
![[Flutter]flutter_svgにてEXCEPTION CAUGHT BY SVG](https://www.yukiiworks.com/wp-content/uploads/2020/08/flutter-150x150.png)
![[Android]ActionBarにボタン(メニュー)を設置する](https://www.yukiiworks.com/wp-content/uploads/2019/04/android-150x150.jpg)
![[Swift]WKWebViewでピンチイン、アウトを無効にする方法](https://www.yukiiworks.com/wp-content/uploads/2019/04/swift-150x150.png)
![[Laravel][S3]Class 'SimpleXMLElement' not found エラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/05/laravel-150x150.png)
![[Android]WebViewでスクロールをバウンドさせない方法](https://www.yukiiworks.com/wp-content/uploads/2019/10/android-studio-e1585186990750-150x150.jpg)
![[Xcode]アップデートが保留中で起動できない、アップデートはしたくない場合について](https://www.yukiiworks.com/wp-content/uploads/2019/09/Xcode-150x150.png)
![[Python]tkinterのScrolledTextで枠線の色、太さ、スクロールバーの色を変える](https://www.yukiiworks.com/wp-content/uploads/2019/11/python-logo-150x150.png)
