php – Kohana v3.1.0 ORM _ignored_columns – 现在它已经消失
发布时间:2020-12-13 17:06:05 所属栏目:PHP教程 来源:网络整理
导读:似乎在Kohana的ORM的v3.1.0中,_ignored_columns属性已被删除. 处理不在数据库中的字段的推荐技术是什么?我现在的情况是password_confirm,其中password是一个字段,但我们要求用户输入两次密码. 解决方法 您可以传递额外的验证对象以进行保存,创建和更新.所以
似乎在Kohana的ORM的v3.1.0中,_ignored_columns属性已被删除.
处理不在数据库中的字段的推荐技术是什么?我现在的情况是password_confirm,其中password是一个字段,但我们要求用户输入两次密码. 解决方法
您可以传递额外的验证对象以进行保存,创建和更新.所以你的例子看起来像:
/** * Password validation for plain passwords. * * @param array $values * @return Validation */ public static function get_password_validation($values) { return Validation::factory($values) ->label('password','password') ->label('password_confirm','repeat password') ->rule('password','not_empty') ->rule('password','min_length',array(':value',8)) ->rule('password_confirm','matches',array(':validation',':field','password')); } /** * Create user account * * @param array $values * @param array $keys * @throws ORM_Validation_Exception */ public function create_user($values,$keys) { $external = Model_User::get_password_validation($values); $this->values($values,$keys); return $this->create($external); } 请注意密码验证如何传递到create方法. $keys值指定应将哪些值保存到模型中. “password_confirm”不在该列表中,因此会被忽略.此功能也与安全性相关,您不希望用户在其POST请求中手动设置ID. 然后,您可以通过调用create_user来创建用户: $user->create_user($_POST,array('username','email','password')); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |