2017-03-02 3 views
1

私は多くの人と私的な関係を持っており、接続テーブルleague_userを持っています。しかし、$user->privateLeaguesを使用すると、最初の関係のみが返されます。Yii2多くの人が多くの関係を返すことはありません

public function getLeagueUsers() 
{ 
    return $this->hasMany(LeagueUser::className(), ['user_id' => 'id']); 
} 

public function getPrivateLeagues() 
{ 
    return $this->hasMany(PrivateLeague::className(), ['id' => 'league_id']) 
     ->via('leagueUsers'); 
} 

例表データ:

league_user

user_id league_id 
1  1 
1  2 

private_leagues私のYii版ãのアップグレード

id  name 
1  first 
2  second 
+0

あなたのデータサンプルには、一致する行が1つしかありません。(league_id = 1 - > id = 1) – scaisEdge

+0

リーグのid 2 - > id 2はどうですか? –

+0

クラスのテーブル名は正しいですか?それは動作するはずです。 [docs](http://www.yiiframework.com/doc-2.0/yii-db-activerelationtrait.html#via()-detail)と同じコードです... $ model-> leagueUsersが返しますか2オブジェクト? – robsch

答えて

0

ここ

は、私の関係の定義ですnは問題を修正しました。

関連する問題