【问题标题】:Yii2: Kartik's DetailView & Select2 not loading saved valuesYii2:Kartik 的 DetailView 和 Select2 未加载保存的值
【发布时间】:2016-10-24 09:11:35
【问题描述】:

我使用 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-&gt;attendantList 是“id”和“name”对的数组。

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

有什么线索吗?

【问题讨论】:

  • 您确定在您的模型中定义了attachants 变量吗?你在规则部分提到过吗?

标签: yii2 select2 detailview


【解决方案1】:

啊,正如@Jigar7521 指出的那样,我使用了一个未在模型中定义为我的数据库中存在的属性,尽管它是在规则部分定义的。不错的提示。谢谢。

【讨论】:

    猜你喜欢
    • 2017-05-17
    • 2017-10-16
    • 1970-01-01
    • 2023-04-01
    • 2018-04-26
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 2018-09-01
    相关资源
    最近更新 更多