Как мы можем присвоить значение ключу объекта модели, который является массивом - PullRequest
0 голосов
/ 29 апреля 2019

Я использую Yii2 с ActiveFrom.У меня есть форма пользователя, которая добавляет несколько имен, адрес электронной почты и т. Д.

Например:

echo $form->field($model, "name[$i]")->widget(kartik\select2\Select2::classname(), [
                                    'data' => $name_master,
                                    'options' => ['placeholder' => 'Select drop down', 'multiple' => false, 'class' => 'selectpicker form-control'],
                                ])->label(false);

Я могу сохранить значение во время его добавления.Но когда я пытаюсь открыть его в форме редактирования и присвоить значение ключу модели, я получаю сообщение об ошибке.

Назначение значения ключу для режима редактирования.

foreach ($namesDump as $val) {
    $objectKey = "name";
    $model->$objectKey[$index] = $val['name'];
}

Это может дать мне ошибку, может кто-нибудь сказать мне, как мы можем присвоить значение ключу объекта, который является формой массива.

1 Ответ

1 голос
/ 29 апреля 2019

Вы, вероятно, должны использовать {}, чтобы указать приоритет имени свойства - это зависит от версии PHP:

$model->{$objectKey}[$index] = $val['name'];
...