我有一个 AR 对象“联盟”。
联赛通过league_has_player lt(有lt.leauge_id和lt.player_id。我有球队是多对多的球员通过team_has_player第三个关系是球队是多对一的联赛(球队有team.league_id )
我想要所有不在联盟球队中的球员。
在尝试为 GridView 设置我的 dataProvider 时,我尝试了这种情况:
public function searchPlayerByLeagueNotOnTeam()
{
$criteria=new CDbCriteria;
$criteria->order = 't.last_name ASC';
$criteria->join = ', team ,player';
$criteria->condition = 'player.id not in '
. '(select team_has_player.player_id '
. 'from team_has_player)';
return new CActiveDataProvider('player', array(
'criteria'=>$criteria,
));
}
但我多次得到所有球员。