Добрый день, только начал 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. Кто может подсказать как это решить?