Yii2模型中数组类型属性的初始值

Yii2模型中数组类型属性的初始值,yii2,Yii2,如果模型中的某个属性包含数组数据(例如日期),这些数据在一个表单中填充,并且该属性有多行,那么我如何为数组元素指定初始值,以便它们在出现时最初显示在表单中 在我的示例中,我的数组类型属性保存日期,我希望表单中的每个新日期行在加载表单时具有不同的值 <?= $form->field($model, 'datesToPay[]') ?> ['datesToPay', 'each', 'rule' => ['default', 'value' => date('Y-m-

如果模型中的某个属性包含数组数据(例如日期),这些数据在一个表单中填充,并且该属性有多行,那么我如何为数组元素指定初始值,以便它们在出现时最初显示在表单中

在我的示例中,我的数组类型属性保存日期,我希望表单中的每个新日期行在加载表单时具有不同的值

<?= $form->field($model, 'datesToPay[]') ?>
['datesToPay', 'each', 'rule' => ['default', 'value' => date('Y-m-d')]]

可以在渲染前在controllerAction中执行以下操作

public function actionCreate()
{
    $model = new MyModel();

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

        $model->datesToPay[0] = 'YourValue';

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

可以在渲染前在controllerAction中执行以下操作

public function actionCreate()
{
    $model = new MyModel();

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

        $model->datesToPay[0] = 'YourValue';

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

谢谢你的回答。这似乎与我在问题中描述的设置相同。当我尝试在现场使用日期选择器时,我的问题就出现了。我使用的是Kartik date picker小部件,因此很明显,根据您建议的解决方案,隐藏值设置正确,但date picker字段(显示值)没有显示它,我无法找到覆盖该值的方法。我建议您发布一个关于日期选取器问题的新问题。。还有日期选择器的代码。谢谢你的回答。这似乎与我在问题中描述的设置相同。当我尝试在现场使用日期选择器时,我的问题就出现了。我使用的是Kartik date picker小部件,因此很明显,根据您建议的解决方案,隐藏值设置正确,但date picker字段(显示值)没有显示它,我无法找到覆盖该值的方法。我建议您发布一个关于日期选取器问题的新问题。。还有日期选择器的代码。