Забыл как работать с MANY_MANY

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Странник
Сообщения: 295
Зарегистрирован: 2013.04.08, 10:35
Откуда: Нижний Новгород

Забыл как работать с MANY_MANY

Сообщение Странник »

Решил переделать старый сайт и не могу вспомнить как работать со связью MANY_MANY.
Почти по учебнику:
Модель Post -(id, title, text,...)
Модель Category (id, title,...)
Связь через

Код: Выделить всё

Post:
public function relations()
{
   return array('categories'=>array(self::MANY_MANY, 'Category', 'nd_category_post(id_post, id_cat)'),);
}
Category:
public function relations()
{
   return array('posts'=>array(self::MANY_MANY, 'Post', 'nd_category_post(id_cat, id_post)'),);
}
Нужно сделать выборку нескольких постов из категории $cat/
Пытался так:

Код: Выделить всё

$criteria=new CDbCriteria;
$criteria->limit=3;
$criteria->order='create_date DESC';
$criteria->condition="categories.id=$cat";
$criteria->together="true";
$posts=Post::model()->with('categories')->findAll($criteria);
Вываливается с ошибкой, что неизвестная колонка categories

Посоветуйте в чём ошибаюсь?
Как сделать выборку по конкретной категории?
Судя по логам вначале выполняется запрос только к таблице post и там понятно нет "categories.id"
Странник
Сообщения: 295
Зарегистрирован: 2013.04.08, 10:35
Откуда: Нижний Новгород

Re: Забыл как работать с MANY_MANY

Сообщение Странник »

Разобрался.
Ошибка тут:

Код: Выделить всё

$criteria->together=true; 
Кавычки для true были лишними.
Ответить