таблички с тремя полями всего… С первой таблички выбирает, а джоин такое ощущение, что вообще не цепляет… как можно посмотреть последний выполненный запрос?
В настройках к примеру пропиши CWebLogRouter и уровень логирования поставь trace у тебя все логи будут в браузер кидаться. Лучше всего конечно ман покурить по логам
public function relations()
{
return array(
'author'=>array(self::HAS_ONE, 'a2', 'id'),
);
}
вроде отработался запрос, но блин мокц плавится от такого запроса:
Querying SQL: SELECT `a1`.`id` AS t0_c0, `a1`.`test` AS t0_c1, `a1`.`name` AS t0_c2, t1.`id` AS t1_c0, t1.`name` AS t1_c1, t1.`file` AS t1_c2 FROM `a1` LEFT JOIN a2 ON a2.id = a1.test LEFT OUTER JOIN `a2` t1 ON (t1.`id`=`a1`.`id`) WHERE (a1.name = 'bla name')
А в чем собственно возмущение? Yii сгенерировало вполне нормальный запрос относительно того какую связь вы указали в relations. Просто AS связка к таблице идет после каждого элемента в не в начале один раз. На нагрузку уверен это некак не скажится.