@funtik52

Как правильно брать данные из модели благодаря «listdata» и «activeDropDownList»?

Всем привет. Создаю сайт для обучения по книге. Необходимо создать под-категорию (запись в таблице БД MySQL) категория которой выбирается из раскрывающего списка. Привожу не полную форму:

<h1><?php echo $title ?></h1>
<?php echo CHtml::beginForm(); ?>
<div class="label"><?php echo CHtml::activeLabelEx($subcategory,
"category") ?></div>
<?php $listData = CHtml::listData($categories, "id", "name") ?>
<div class="control"><?php echo CHtml::activeDropDownList($subcategory,
"category", $listData) ?></div>
<?php echo CHtml::error($subcategory, "category") ?>

. . .

<div class="button"><?php echo CHtml::submitButton("Сохранить"); ?></div>
<?php echo CHtml::endForm() ?>
<p>&nbsp;</p>
<p><?php echo CHtml::link("Назад", array("subcategory/index")) ?></p>


Получается что при правильном генерирование списка:

<?php $listData = CHtml::listData($categories, "id", "name") ?>
<div class="control"><?php echo CHtml::activeDropDownList($subcategory,
"category", $listData) ?></div>


у элементов отсутствуют имена. Забавно то, что если прописать "id", "id" (, ), то имена появляются. Однако все записи под-категорий имеют категорию "0". А должны иметь значение соответствующее "id" выбранного из списка элемента. Вот так.
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
kawabanga
@kawabanga
У вас в $categories есть поле name? сделайте var_dump сначала, посмотрите что впринципе там хранится.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы