"Undefined variable" 在视图中呈现数据时出错

"Undefined variable" error, when rendering data in a view

我想在 _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']) ?>

我错过了什么?

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

在你的create.php

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