在视图中渲染数据时出现“未定义变量”错误

时间:2015-06-18 07:30:45

标签: php view yii2

我想在_form.php视图中使用Yii2中的actionCreate方法渲染静态数组。这是我的代码:

if ($model->load(Yii::$app->request->post()) && $model->save()) {
     return $this->redirect(['view', 'id' => $model->id]);
} else {
    $data = array('1'=>'AA','2'=>'BB');

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

当我尝试在_form.php视图中显示此数据时,我收到错误“未定义变量:数据”。

这是我的_form.php代码:

<?= $form->field($model, 'fixer_type[]')->dropDownList($data,['prompt'=>'Select Fixer Trade']) ?>

我错过了什么?

1 个答案:

答案 0 :(得分:5)

您正在将$data传递给create.php。从您的create.php渲染相同内容,使其在form.php中可用。

create.php

<?= $this->render('_form', [
    'model' => $model,
    'data' => $data ,
]) ?>