yii2在下拉列表中添加选项组标签

时间:2016-04-18 08:52:17

标签: php yii2

这是我dropdownlist之类的..

<?= $form->field($queModel, 'qm_category_id')->dropdownList(QuestionCategory::getQuestionCat()) ?>

这是getQuestionCat()函数

public static function getQuestionCat()
{
    $dataTmp = self::find()->all();
    $result = yii\helpers\ArrayHelper::map($dataTmp, 'qc_id', 'qc_name', 'qcCourse.course_name');
    print_r($result); exit;
    return $result;
}

上面的函数使用ArrayHelper

返回此数组

enter image description here

显示如下图像..

enter image description here

在此下拉列表中,第一个<optgroup label="">设置为<optgroup label="Other">

1 个答案:

答案 0 :(得分:1)

map函数接受闭包,因此您可以使用以下内容:

$result = \yii\helpers\ArrayHelper::map($dataTmp, 'qc_id', 'qc_name', function($model) {
    if ($course_name = $model->qcCourse->course_name) {
        return $course_name;
    }
    else {
        return 'Other';
    }
});