Реляционные отношения

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Закрыто
veronika
Сообщения: 6
Зарегистрирован: 2009.12.21, 14:43

Реляционные отношения

Сообщение veronika »

Имеется 3 таблицы countries, countries_messages, languages со следующими отношениями:
Countries:

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

'countries_messages' => array(self::HAS_MANY, 'Countries_messages', 'countries_message_country_id'), 
Countries_messages:

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

 'languages' => array(self::BELONGS_TO, 'Languages', 'countries_message_language_id'),
    'country' => array(self::BELONGS_TO, 'Countries', 'countries_message_country_id'), 
Languages:

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

 'countries_messages' => array(self::HAS_MANY, 'CountriesMessages', 'countries_message_language_id'), 
Требуется извлечь данные country_id из countries и countries_message_text из countries_messages, с условием languages.language_code = 'ru(en)'

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

$criteria=new CDbCriteria;
$criteria->with=array(
'countries_messages',
'countries_messages.languages',
);
$criteria->condition = "countries.countries_messages.languages.language_code = ' ".Yii::app()->language."' ";
$countriesArray = Countries::model()->findAll($criteria); 
Данный скрипт возвращает ексепшн:
CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.language_code = 'ru'' at line 1
подскажите пожалуйста в чем здесь дело и как вообще правильно обращаться в условии к столбцам связанных таблиц.
Последний раз редактировалось veronika 2009.12.21, 18:48, всего редактировалось 1 раз.
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: Реляционные отношения

Сообщение Ekstazi »

Так это не делается, смотрите документацию по with(дополнительные критерии реляционого запроса, есть здесь на сайте).
Закрыто