Добрый день, только начал yii изучать. Мне нужно из таблиц отбирать данные. Я обращаюсь через имена связей (doctors’,‘mo’,‘schedules’) к таблицам (‘doctor’, ‘refmo’, ‘schedule’).
$id = $_GET['id'];
$model=new Refv004();
$model->unsetAttributes();
$criteria = new CDbCriteria();
$criteria->condition = 't.level_1_id is not null and t.level_2_id is not null and t.level_3_id is null and t.oms=1 and schedules.id>0';
$criteria->compare('mo.id',$id);
$criteria->with = array('doctors','mo','schedules');
$criteria->group = 't.name';
$criteria->order = 't.name';
$criteria->together = true;
Но вот почему то когда пишу имя связи ‘schedules’ в $criteria->with = array(‘doctors’,‘mo’,‘schedules’); выдает ошибку:
“CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: ‘doctors’. The SQL statement executed was: SELECT COUNT(DISTINCT t
.id
) FROM refv004
t
LEFT OUTER JOIN doctor
doctors
ON (doctors
.id_spec
=t
.id
) LEFT OUTER JOIN refmo
mo
ON (doctors
.id_mo
=mo
.id
) LEFT OUTER JOIN doctor
doctors
ON (doctors
.id_spec
=t
.id
) LEFT OUTER JOIN schedule
schedules
ON (doctors
.id
=schedules
.id_doctor
) WHERE ((t.level_1_id is not null and t.level_2_id is not null and t.level_3_id is null and t.oms=1 and schedules.id>0) AND (mo.id=:ycp0))”
Как я понимаю, проблемма из - за того что я два раза пытаюсь сджойнить через связь doctors. Кто может подсказать как это решить?