1

現在、Gii によって自動生成された Yii フレームワークの関係を使用して、データベースからデータを表示/取得しようとしています。(MANY_MANY)

ユーザーモデルには以下が含まれます:

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 という User ビューに取り組んでいます。私が達成しようとしているのは、現在のユーザーに割り当てられているすべてのチームを表示することだけです。

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 に答える