注册的过程:用户输入数据->提交服务器->插入数据库
由于AR继承自[[yii\base\Model]],所以它同样也支持Model的数据输入、验证等特性。例如,你可以声明一个rules方法用来覆盖掉[[yii\base\Model::rules()|rules()]]里的;你也可以给AR实例批量赋值;你也可以通过调用[[yii\base\Model::validate()|validate()]]执行数据验证。
当你调用 save()、insert()、update() 这三个方法时,会自动调用[[yii\base\Model::validate()|validate()]]方法。如果验证失败,数据将不会保存进数据库。
下面的例子演示了如何使用AR 获取/验证用户输入的数据并将他们保存进数据库:
// 新建一条记录 $model = new Customer; if ($model->load(Yii::$app->request->post()) && $model->save()) { // 【获取用户输入的数据】,【验证】并【保存】 } // 更新主键为$id的AR $model = Customer::findOne($id); if ($model === null) { throw new NotFoundHttpException; } if ($model->load(Yii::$app->request->post()) && $model->save()) { // 获取用户输入的数据,验证并保存 }