Я хочу получить весь список категорий и подкатегорий которых является enabled=1
юй получить данные, используя отношения между моделями
отношения в категориях:
return array(
'subcategories'=>array(self::HAS_MANY, 'Subcategories', 'id','condition'=>'enabled=1'),
);
отношения в подкатегории:
return array(
'categories'=>array(self::BELONGS_TO, 'Categories', 'category_id', 'condition'=>'enabled=1'),
);
Здесь вы что я хочу делать:
$categories = Categories::model()->with('subcategories')->findAll();
$selectData = array();
foreach ($categories as $category) {
$selectData[$category->title] = CHtml::listData($category->subcategories, 'id', 'title');
}
echo CHtml::dropDownList('catAndSubcat', null, $selectData);
Обе таблицы имеют столбец enabled
. Каждая категория имеет около 10 подкатегорий. category_id
в подкатегории чуждо ключ id
в категориях
Но ошибка при получении им:
SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'enabled' in where clause is ambiguous. The SQL statement executed was: SELECT `t`.`id` AS `t0_c0`, `t`.`title` AS `t0_c1`, `t`.`page_id` AS `t0_c2`, `t`.`position` AS `t0_c3`, `t`.`enabled` AS `t0_c4`, `subcategories`.`id` AS `t1_c0`, `subcategories`.`category_id` AS `t1_c1`, `subcategories`.`title` AS `t1_c2`, `subcategories`.`page_id` AS `t1_c3`, `subcategories`.`position` AS `t1_c4`, `subcategories`.`enabled` AS `t1_c5` FROM `t_categories` `t` LEFT OUTER JOIN `t_subcategories` `subcategories` ON (`subcategories`.`id`=`t`.`id`) WHERE (enabled=1)
Помогите!
'' ВЫБРАТЬ t'.'id' AS 't0_c0',' t'.'title' AS '' t0_c1', t'.'page_id' AS 't0_c2',' t'.'position' AS 't0_c3',' t'.'enabled' AS 't0_c4',' подкатегории'''' '' '' t1_c0' '' 'подкатегории''категория_и' AS' t1_c1', 'подкатегории'.' title' AS 't1_c2',' подкатегории'. 'page_id' AS 't1_c3',' подкатегории'''''' '' t1_c4', 'подкатегории'''сказал' AS' t1_c5' FROM 't_categories'' t 'LEFT OUTER JOIN' t_subcategories' 'подкатегории' ON (' subcategories'.'id' = 't'.'id) WHERE (подкатегории.enabled = 1)' – Undrooleek
получает данные из таблиц без принимая во внимание o nly категорий, которые включали – Undrooleek
Теперь вы работаете SQL без erros? Что значит «без учета»? – Olegacy