2017-11-20 10 views
0

Laravel 5.5を使用してアプリケーションを作成しようとしていますが、私は2つのキー列を持つこと以外は多くのオブジェクトを取得する必要がありますが、これを行う方法はわかりません。ここで 複数のキーを持つLaravel hasManyThrough

は私のテーブルです。このことから

[seasons] id ...

[Teams] id name ...

[fixtures] id, season_id, home_id, away_id, ...

、私はhome_idを使用して備品テーブルを通してシーズンのチームのリストを取得しようとしていますし、チームidのキーフィールドとしてaway_id。

アイデア? ありがとう!

+0

2チームのIDフィールド? CotのuはちょうどbooleanのisHomeのように追加し、home_idとaway_idの代わりにteam_idを使用します –

答えて

0

hasManyThroughを使用しないでください。それを多対多の関係のように扱い、フィクスチャテーブルをピボットとして使用します。シーズンモデルの

public function homeTeams(){ 
    return $this->belongsToMany(Team::class, 'fixtures', 'season_id', 'home_id'); 
} 

public function awayTeams(){ 
    return $this->belongsToMany(Team::class, 'fixtures', 'season_id', 'away_id'); 
} 
+0

Thanksこの回答を使用して、上記の2つのコレクションを1つのコレクションにマージしてteams()メソッドを作成しました。 1つのオブジェクト – CrystalShardz

関連する問題