Setelah kita membuat tabel menu, kita akan membuat pengelompokan menu-menu ini di dalam Group, dan relasi antara Group dan Menu ini kita buat dalam tabel group_menu. Relasi tabel group_menu dengan tabel group dan menu ini bisa dilihat pada relations di model GroupMenu:
    public function relations()
    {
        // NOTE: you may need to adjust the relation name and the related
        // class name for the relations automatically generated below.
        return array(
            ‘group’ => array(self::BELONGS_TO, ‘Group’, ‘group_id’),
            ‘menu’ => array(self::BELONGS_TO, ‘Menu’, ‘menu_id’),
        );
    }

Dalam artikel header dan detail, kita sudah menentukan Groupnya kemudian sekarang adalah menambahkan menu-menu yang sesuai kepada group tersebut. Untuk itu kita akan memilih menu-menu yang akan dimasukkan dalam Group tersebut.

Untuk mengerjakan hal ini kita edit models/GroupMenu.php :
    public function getMenuList()
    {
        $connection=Yii::app()->db;
        $sql=”SELECT menu_id, menu_name FROM menu ORDER BY menu_name”;
        $menu=$connection->createCommand($sql)->query();
        $menu->bindColumn(1,$option_value);
        $menu->bindColumn(2,$option_name);
      
        while($menu->read()!==false)
        {
            $balik[$option_value]=$option_name;
          
          
        }
        return $balik;
    }
    public function getYesNo()
    {
        return array(
            0=>’Non Active’,
            1=>’Active’,
            );
    }

    public function getYesNoStr($is_active)
    {
        if ($is_active==0)
        {
            return ‘Non Active’;
        }
        else if ($is_active==1)
        {
            return ‘Active’;
        }
    }

Kemudian pada views/groupMenu/_form.php:  
   <div class=”row”>
        <?php echo $form->labelEx($model,’menu_id’); ?>
        <?php  //echo $form->textField($model,’menu_id’);
        echo $form->dropDownList($model,’menu_id’,GroupMenu::getMenuList());
         ?>
        <?php echo $form->error($model,’menu_id’); ?>
    </div>

    <div class=”row”>
        <?php echo $form->labelEx($model,’no_seq’); ?>
        <?php echo $form->textField($model,’no_seq’); ?>
        <?php echo $form->error($model,’no_seq’); ?>
    </div>

    <div class=”row”>
        <?php echo $form->labelEx($model,’remark’); ?>
        <?php echo $form->textField($model,’remark’,array(‘size’=>60,’maxlength’=>1000)); ?>
        <?php echo $form->error($model,’remark’); ?>
    </div>

    <div class=”row”>
        <?php echo $form->labelEx($model,’is_active’); ?>
        <?php //echo $form->textField($model,’is_active’);
        echo $form->dropDownList($model,’is_active’,$model->getYesNo());
         ?>
        <?php echo $form->error($model,’is_active’); ?>
    </div>

Kemudian pada views/groupMenu/view.php :
<?php $this->widget(‘zii.widgets.CDetailView’, array(
    ‘data’=>$model,
    ‘attributes’=>array(
        ‘group_menu_id’,
        ‘group_id’,
        ‘menu.menu_name’,
        ‘no_seq’,
        ‘remark’,
         array(     
            ‘name’=>’isActive’,
            ‘value’=>$model->getYesNoStr($model->is_active) ,
        ),
    ),
)); ?>

Dan pada bagian views/group/view.php
<?php $this->widget(‘zii.widgets.grid.CGridView’, array(
    ‘id’=>’group-menu-grid’,
    ‘dataProvider’=>$detailDataProvider,
    ‘columns’=>array(
        ‘menu.menu_name’,
        ‘no_seq’,
        ‘remark’,
        array(     
            ‘name’=>’is_active’,
            ‘value’=>’$data->getYesNoStr($data->is_active)’ ,
        ),         array(
            ‘class’=>’CButtonColumn’,
            ‘template’ => ‘{view} {update} {delete}’,
            ‘buttons’ => array(
                    ‘view’ => array(
                        ‘label’=>’View’,
                        ‘url’=>’Yii::app()->createUrl(“/groupMenu/view”, array(“id” => $data->group_menu_id))’,
                    ),
                               
                    ‘update’ => array(
                        ‘label’=>’Update’,
                        ‘url’=>’Yii::app()->createUrl(“/groupMenu/update”, array(“id” => $data->group_menu_id))’,
                    ),
                    ‘delete’ => array(
                        ‘label’=>’delete’,
                        ‘url’=>’Yii::app()->createUrl(“/groupMenu/delete”, array(“id” => $data->group_menu_id))’,
                    ),
                    ),
        ),
    ),
)); ?>

Tampilan akan seperti ini:

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Drop down dengan database di Yii