模型save()和update() [ 1.0 版本 ]
$my = My::model()->findByPk(1);
$my -> name = 'wsssd';//最大长度为3 此时不会成功
$my->save();exit;
我们简单模拟下,name字段是varchar,最大长度为3
这个时候运行,界面是空白页
如果换成$my->update();
运行报异常CDbException
按理说save()里面就是会运行update()的啊 为什么结果不一样呢???
解决了:
public function save($runValidation=true,$attributes=null)
{
if(!$runValidation || $this->validate($attributes))
return $this->getIsNewRecord() ? $this->insert($attributes) : $this->update($attributes);
else
return false;
}
save源码里有$this->validate($attributes)
验证,没有通过验证,update就不会运行
共 0 个回答
没有找到数据。
xyf90314
注册时间:2015-03-04
最后登录:2023-03-13
在线时长:95小时23分
最后登录:2023-03-13
在线时长:95小时23分
- 粉丝21
- 金钱5257
- 威望40
- 积分6607