我目前正在尝试使用由Gii自动生成的Yii框架关系来显示/检索数据库中的数据。 (MANY_MANY)
用户模型包含:
return array(
'memberOfTeams' => array(self::MANY_MANY, 'UsersTeam', '{{teamMembers}}(userId, teamId)'),
);
UserTeam Model包含:
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(),我可以获得所有信息,但我只想要分配用户的团队。
答案 0 :(得分: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,
),
)
);