1

我目前正在尝试使用 Gii 自动生成的 Yii 框架关系从我的数据库中显示/检索数据。(很多很多)

用户模型包含:

return array(
        'memberOfTeams' => array(self::MANY_MANY, 'UsersTeam', '{{teamMembers}}(userId, teamId)'),
    );

UserTeam 模型包含:

    return array(
        'teamMembers' => array(self::MANY_MANY, 'User', '{{teamMembers}}(teamId, userId)'),
    );

目前我正在开发名为 profile.php 的用户视图。我想要完成的只是显示当前用户以及分配给他的所有团队。

teamMembers 包含 teamId 和 userId。

我将如何编写此查询?

我目前有这个

<?php echo CHtml::dropDownList("teamName", 'id', Chtml::listData(UsersTeam::model()->with('teamMembers')->findAll(teamMembers.userId, array($model->id)), 'id', 'teamName'),array('empty'=>'Select Team')); ?>

如果我使用 findAll(),我可以获得所有信息,但我只想要用户分配到的团队。

4

1 回答 1

2

我的一个项目做类似的事情:

商店和卡片之间的 MANY_MANY 关系,此数据提供程序用于显示链接到特定卡片的商店列表:

$shopDataProvider=new CActiveDataProvider( 'Shop',
            array(
                'criteria'=>array(
                    'with'=>array('cardShop'),
                    'condition'=>'cardShop.card_id=:cardId',
                    'params'=>array(':cardId'=>$id),
                    'order'=>'t.id DESC',
                    'together'=>true,
                ),
            )
        );
于 2013-06-25T20:18:22.137 回答