株式会社Re:Build

株式会社Re:Build

Laravel5.5で中間テーブルを経由した先のテーブルのデータをとりたい

下記のリンクを参考にEloquentのリレーションにhasManyThroughを設定しましょう

Laravelのリレーション hasManyThrough の使い方を毎回間違うのでメモ

// ユーザーモデル
class User extends Model
{
    public function Games() {
        return $this->hasManyThrough(①, ②, ③, ④, ⑤, ⑥); // ← 毎回忘れる
    }
}
番号 user_id
リレーションを経由したあとに取得したいモデル (Model\Game)
リレーション用のモデル (Model\UserGame)
②のモデルを呼び出し元のモデル (Model\User) と結びつけるために使うキー (user_id)
①のマスタID (game_master_id)
不明
②のモデルを①のモデルと結びつけるために使うキー (game_id)