简体   繁体   English

我们如何为模型对象键(即数组)分配值

[英]How we can I assign value to model object key which is an array

I am using Yii2 with ActiveFrom . 我正在使用Yii2和ActiveFrom I have form of user which add multiple names, email etc. 我有添加多种名称,电子邮件等的用户形式。

For example: 例如:

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);

I am able to save the value at the time of adding it. 我可以在添加值时保存该值。 But when I try to open it in edit form and assign value to model key I am getting error. 但是,当我尝试以编辑形式打开它并将值分配给模型键时,出现错误。

Assign value to key for edit mode. 将值分配给编辑模式的键。

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

It is give me error can someone tell me how we can assign value to object key which is array form. 有人可以告诉我如何为数组形式的对象键赋值,这是给我一个错误。

您可能应该使用{}来表示属性名称的优先级-根据PHP版本的不同,它是不同的:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM