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
あなたのデータサンプルには、一致する行が1つしかありません。(league_id = 1 - > id = 1) – scaisEdge
リーグのid 2 - > id 2はどうですか? –
クラスのテーブル名は正しいですか?それは動作するはずです。 [docs](http://www.yiiframework.com/doc-2.0/yii-db-activerelationtrait.html#via()-detail)と同じコードです... $ model-> leagueUsersが返しますか2オブジェクト? – robsch