мне нужно запустить после заявлений CDbCriteria в Yii:Yii CDbCriteria добавления нежелательных псевдоним
SELECT `tbl_products`.`id` FROM `tbl_products`
INNER JOIN `tbl_producttags`
ON `tbl_products`.`id` = `tbl_producttags`.`product_id`
INNER JOIN `tbl_tags`
ON `tbl_producttags`.`tag_id` = `tbl_tags`.`id`
То, что я пытался до сих пор:
$criteria = new CDbCriteria();
$criteria->select= '`tbl_products`.`id`';
$criteria->join ='INNER JOIN `tbl_producttags` ON `tbl_products`.`id` = `tbl_producttags`.`product_id`'
. ' INNER JOIN `tbl_tags` ON `tbl_producttags`.`tag_id` = `tbl_tags`.`id`';
$products = Products::model()->findAll($criteria);
Но поймите меня следующее сообщение об ошибке:
Оператор SQL: SQLSTATE [42S22]: Колонка не найдена: 1054 Неизвестная колонка 'tbl_products.id' в 'списке полей'. Выполненный оператор SQL: SELECT
tbl_products
.id
ОТtbl_products
t
INNER JOINtbl_producttags
ONtbl_products
.id
=tbl_producttags
.product_id
INNER JOINtbl_tags
ONtbl_producttags
.tag_id
=tbl_tags
.id
Проблема заключается в том:
Это из-за того, что CDbCriteria добавил нежелательную псевдоним t
после tbl_products
Как я могу это исправить?
Вы не выбрали таблицу tbl_products в своем соединении, но –