2013-06-25 81 views
1

我目前正在嘗試使用由Gii自動生成的Yii框架關係來顯示/檢索我的數據庫中的數據。 (MANY_MANY)在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(),但我只希望用戶被分配到小組。

+0

您好像@Mtvw得到了一個很好的答案。如果你還沒有,我還會大力推薦瀏覽Yii論壇:http://www.yiiframework.com/forum/祝你好運! – DaveyLaser

回答

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, 
       ), 
      ) 
     );