Yii2:Kartik的DetailView&选择2不加载已保存的值

时间:2016-10-24 09:11:36

标签: yii2 select2 detailview

我使用Kartik的DetailView和Select2从下拉列表中保存多选服务员列表。形式:

 <?= $form->field($model, 'attendants')->widget(Select2::classname(), ['data' => $model->attendantList, 'options' => ['placeholder' => Yii::t('app', 'Select...'), 'multiple' => true]]) ?>

在视图中:

[
           'attribute' => 'attendants',
           'format' => 'raw',
           'type' => DetailView::INPUT_SELECT2,
           'widgetOptions' => ['data' => $model->attendantList, 'options' => ['placeholder' => Yii::t('app', 'Select...'),'multiple' => true]],
           'value' => call_user_func(function($model){
                                  $attendants = '';
                                  foreach($model->persons as $person) {$attendants .= Html::a($person->name, ['aux-person-event/index', 'person_id' => $person->id]).'<br/>';}
                                  return $attendants;
                            }, $model),
        ],

其中$model->attendantList是'id'和&amp;的数组。 '名字'对。

如果我通过更新操作使用标准ActiveForm,则保存的值会在更新时正常加载到表单中。但是在编辑模式下使用Kartik的DetailView时却不是这样。

有任何线索吗?

1 个答案:

答案 0 :(得分:0)

啊,正如@ Jigar7521指出的那样,虽然它是在规则部分中定义的,但我在我的数据库中使用了未在模型中定义的属性作为existant。不错的提示。感谢。