Переделываю проект БЕЗ ВОЗМОЖНОСТИ изменить структуру таблиц. Изучаю YII (версия 1.1.13)
Настраиваю связи в моделях и запутался в довольно-таки простых отношениях.
Есть связка Country < — Area < — Settlement (Тобиж в каждой дочерней модели есть ссылка на родителя)
1. Для модели Country отношения выглядят так:
return array(<br>
'areas' => array(self::HAS_MANY, 'Area', 'id_country'),<br>
'areaCount'=>array(self::STAT, 'Area', 'id_country'),<br><br>
//Статический запрос через две таблицы не прокатил (вернее если бы в area, была свяь к settlement а не на оборот)<br>
//'settlementCount'=>array(self::STAT, 'Settlement', 'area(id_country, id_area)'),<br><br>
//id - относится к area<br>
'settlements'=>array(self::HAS_MANY, 'Settlement', array('id'=>'id_area'), 'through'=>'areas'),<br>
);<br>
Вопросы:
1.1. Верно ли настроена связь settlements (она работает, но есть подозрение что можно настроить без промежуточной связи)?
1.2 Как все-таки настроить settlementCount?
2. Есть модель Message где указана ссылка только на id_settlement.
return array(<br>
//'country' => ???,<br>
//'area' => ???,<br>
'settlement' => array(self::BELONGS_TO, 'Settlement', 'id_settlement'), /<br>
);<br>
2.1 Как настроить связь на Area?
2.2 Как настроить связь на Country?