关于YII save() 返回false
RT、
使用model的save时候返回失败 打印日志也没找到端倪。狗之查了些资料。现在分享出来
public function rules() { return array( array("username, password, captcha", "required", "on"=>"login,create"), array("username", "unique", "on"=>"create"), array("password2","required","on"=>"create"), array("captcha", "captcha", "allowEmpty"=>!extension_loaded("gd"), "on"=>"login,create"), //验证密码和确认密码 array("password2","compare","compareAttribute"=>"password","message"=>"两次密码不一致","on"=>"create"), ); }
注意这里我是有写
array("password2","required","on"=>"create"),前端控制器 我写的是
public function actionIndex(){ $model = new User("create"); if(isset($_POST["User"])){ $model->attributes = $_POST["User"]; if($model->validate() ){ $a = $model->save(false);// 注意这里 当时我没写 false } }
这样的原因就是。rules规则里 把我写的password2当做了数据库字段,必须要保存的。但是实际表里没有这个字段
解决办法
一 是去掉跟password2有关的规则
二 就是上面说的在save的时候把属性设置为false
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: Hibernate Duplicate entry 解决方法
- 下一篇: Yii中的save方法