Yii2:Kartik 的 DetailView & Select2 未加载保存的值



我使用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' &"名字"对。

如果我通过更新操作使用标准的ActiveForm,保存的值在更新时正常加载到表单中。然而,当在编辑模式下使用Kartik的DetailView时,它们不是。

什么线索吗?

啊,正如@Jigar7521指出的那样,事实证明,我使用的属性不是在模型中定义的,存在于我的DB中,尽管它是在规则部分中定义的。不错的建议。谢谢。

最新更新