Ivashkin
(Ti 073)
1
Добрый день.
Столкнулся с небольшой проблемой по работе с criteria
Есть две таблицы User{id, login, passwd, group} и Group {id, name} между ними связь по user.group к group.id.
Я делаю следующий запрос
$crt = new CDbCriteria();
$crt = new CDbCriteria();
$crt->join = 'LEFT JOIN group ON group.id=group';
далее я попытался сделать выборку из таблицы user
$user = new User();
$user = $user->findAll($crt);
но в итоге выдает ошибку.
Я хотел получить данные вида:
user.login group.name
хотелось бы узнать решение данной задачи, в одном запросе
MiksIr
(Miksir)
2
Для вас принципиально это делать внешним критерием или может добавить связь в User?
‘groups’ => array(self::HAS_MANY, ‘Group’, ‘group’)
И делать User::model()->with(‘groups’)->findAll();
Ясно дело, что должена быть модель Group.
Ну и если принципиально, что бы делался джойн, а не эмуляция через IN в два запроса - добавить ‘together’ => true
Ivashkin
(Ti 073)
3
связи эти есть у меня в relation
я делал и $criteria->with = ‘group’
и потом $user = $user->findAll($criteria);
тоже ошибку выдавало
Ivashkin
(Ti 073)
4
все разобрался, у меня в модели связь называлась group0, я думал что нужно соединять по названию таблицы в бд или модели