Yii2:如何在视图文件中使用动态属性名称定义textInput()?

时间:2019-03-18 13:49:50

标签: php model yii2

我的控制器文件中有一个功能,可以获取居住在城市中的人。

我的控制器文件:

public function actionGetPersons($id_city)
{
    $model = Persons::find()->where(['id_city' => $id_city])->all();

    return $this->render('persons-city', [
        'model' => $model,
    ]);
}

然后我的模型文件必须显示带有文本输入的表单:每人一个文本输入及其属性名称必须是该人的名称

我的查看文件:

<?
foreach ($model as $person) {
    $form->field($person, $person->person_name)->textInput();
}
?>

但是浏览器显示此错误:

  

未知属性– yii \ base \ UnknownPropertyException获取未知   属性:app \ models \ Persons :: John

2 个答案:

答案 0 :(得分:2)

尝试将您的视图更改为这样:

<?php
foreach ($model as $key=>$person) {
    echo $form->field($person, "[{$key}]person_name")->textInput(['value' => $person->person_name]);
}
?>

答案 1 :(得分:0)

field()方法的第二个参数应该是字段名称,而不是当前字段值

在您的示例中:

writer = csv.DictWriter(csv_file, fieldnames=fieldnames)

docs:https://www.yiiframework.com/doc/guide/2.0/en/input-forms