2012-06-13 3 views
0

я начал изучать Yii несколько дней назад, и теперь я застрял со следующей проблемой в течение нескольких часов ...Yii вложенного DROPDOWNLIST с OptionGroup

Я хочу, чтобы создать DROPDOWNLIST как

<div class="cars-select"> 
    <?php echo CHtml::dropDownList('Cars', 'car_id', array(
     'Mazda'=>array(
      'mazda-rx7'=>'RX7', 
      'mazda-rx5'=>'RX5', 
     ), 
     'Volvo'=>array(
      'volvo-b9tl'=>'B9TL', 
      'volvo-l90e-radlader'=>'L90E Radlader', 
     ), 
    )); ?> 
</div> 

Но я получить данные из базы данных с следующей таблицей-структурой:

Table Studycourse: 
id, coursename, extension_of 

1, Law, 0 
2, Economics, 0 
3, Business Law, 1 
4, Macro Economics, 2 

Моим DropDownList без опции группы работает:

$courseExt = Studycourse::model()->findAll("extension_of IS NOT NULL", array('order' => 'id')); 
echo $form->dropDownList($model, 'studycourse_id', GxHtml::listDataEx($courseExt)); 

Но как я могу заполнить выпадающий список группами параметров?

Он должен генерировать следующий HTML:

<select name="studycourse" id="course"> 
     <optgroup label="Law"> 
      <option value="law-business">Business Law</option> 
     </optgroup> 
     <optgroup label="Economics"> 
      <option value="economics-macro">Macro Economics</option> 
     </optgroup> 
</select> 
+5

[Позвольте мне сообщить, что для вас] (http://bit.ly/KV5Az7) – adamors

+0

ОК, я забыл упомянуть, что хочу создать раскрывающийся список в views/profile.php. У меня есть дополнительная таблица tbl_profile (user_id, name, studycourse_id), и есть ссылка на столовую таблицу. $ Model-object в представлениях/профилях - это профили – StandardNerd

+0

$ модель в представлениях/профиле - это профиль-объект. Как я могу использовать объект studycourse-modelobject в представлении профиля? – StandardNerd

ответ

0

Категория Таблица:
ID Имя GRP
1 Ms Office Software
2 Фотомастерская Программное обеспечение
3 C++ Программирование
4 Java Программирование
5 PHP Программирование

$ catego ry = CHtml :: listData (Категория :: model() -> findAll(), 'id', 'name', 'grp');

echo CHtml :: dropDownList ('location', '', $ location);

+0

Я бы продолжил ваш ответ с некоторыми пояснениями и немного больше форматирования :-) – LionC

Смежные вопросы