Yii:填充表单默认值

2017-02-21

在使用Yii框架的时候,需要制作一个update页面用来更新用户资料,查询资料后发现可以有简单的方式完成这一操作!
Controller中将model传入模板,如下;

1
2
3
4
$model = new Users;
return $this->render('update', [
'model' => $model,
]);

然后在模板中使用ActiveForm进行表单的渲染:

1
<?= $form->field($model, 'username')->textInput(['maxlength' => true]) ?>

一般情况下这个控件是没有默认值的.

在制作update.php页面时使用value=xxx来解决,后来发现:

1
2
$model = new Users;
$model = $model->findOne($id); //得到某个用户的资讯

然后在模板中

1
<?= $form->field($model, 'username')->textInput(['maxlength' => true]) ?>

就能出现默认值!
因为findOne()官方文档中的描述是

Returns a single active record model instance by a primary key or an array of column values.

它返回的仍旧是ActiveRecord的实例。

Tags: Yii