2017-03-02 29 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

id  name 
1  first 
2  second 
+0

尋找你的數據樣本,你只有一個匹配的行..(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

升級我的Yii versio n解決了問題。