Yii сфера и проблема отношения - PullRequest
1 голос
/ 24 декабря 2011

У меня что-то вроде этого

$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'),

Короче говоря, я хочу найти общее количество пользователей в каждой категории, которые относятся к отделу науки

1 Ответ

0 голосов
/ 24 декабря 2011

Чтобы найти общего числа пользователей в каждой категории, которые относятся к науке отдела, правильное определение отношения «totalCount» может выглядеть примерно так:

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

* Я использовал «категорию», предполагая, что этоимя атрибута, содержащего первичный ключ для таблицы категорий в таблице User.Конечно, вы должны изменить его на правильное имя атрибута.

Теперь просто $ model-> totalCount вернет нужное вам число.

Но я должен сказать, что я не на 100%уверен в правильности синтаксиса приведенного выше кода, но его можно легко исправить с помощью обратной связи, как только вы попробуете его.

...