1

私はこのようなものを持っています

$model=UserCategory::model()->findAll(array('with'=>array('user.department','totalCount'=>array('condition'=>"user.department.name='Science'"))));

しかし、不明な列'user.department.name'と表示されますなぜ表示されるのかはわかりますが、どのように実装しますか

私は関係をフォローしています

UserCategory
'user' => array(self::HAS_MANY, 'UserCategory', 'categoryId'),
'totalCount' => array(self::STAT, 'UserCategory', 'categoryId'),//counts total of user under each category
User
'userCat' => array(self::BELONGS_TO, 'UserCategory', 'categoryId'),
'department' => array(self::BELONGS_TO, 'Department', 'departmentId'),
Department
'userDept' => array(self::HAS_MANY, 'User', 'departmentId'),

要するに、学科に所属する各カテゴリーの総利用者数を知りたいのです。

4

1 に答える 1

0

科学科に属する各カテゴリの合計ユーザー数を見つけるには、「totalCount」リレーションの正しい定義は次のようになります。

'totalCount' => array(self::STAT, 'User', 'category' /* *See note below */, 'condition'=>'user.department=Science'),

*「カテゴリ」は、ユーザー テーブルのカテゴリのテーブルへのキーを含む属性の名前であると想定して使用しました。もちろん、属性の正しい名前に変更する必要があります。

$model->totalCount だけで、必要な数が返されます。

しかし、上記のコードの構文の正確性について 100% 確信があるわけではありませんが、一度試してみると、フィードバックがあれば簡単に修正できます。

于 2011-12-24T03:38:32.843 に答える