1

我有一个 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,
    ));
}

但我多次得到所有球员。

4

0 回答 0