╃巡洋艦㊣
- ╃巡洋艦㊣ 赞了回答
要一起用,
load()
只是加载数据,validate()
才是验证。
更新和添加都用save()
,yii通过$model->isNewRecord
来判断是不是一条新纪录,然后调用insert()
或者update()
。load()
和setAttributes()
方法都属于批量赋值,yii为了保护数据的安全性,是禁止批量赋值的,但是当数据符合rule规则的时候就可以批量赋值了,所以没写rules就不能用load()
。就算某个字段不需要什么规则,用户输入什么都可以,那么要把这个字段的规则设置safe,一般gii生成的model最后一行都是safe的。
你可以不用validate()
,因为save方法会先调用validate()
再执行insert()
或者update()
(看源码就知道)。 - ╃巡洋艦㊣ 赞了回答
还有 model 里没写rules的时候 load()会不会成功?load()会不会验证rules里的规则?还是要validate()的时候才验证rules?
load填充属性,validate根据rules进行校验
- ╃巡洋艦㊣ 赞了回答
$model->load($post) 还要不要 && $model->validate()一起用?
需要一起用
- ╃巡洋艦㊣ 赞了说说木有断,啦离啦
- ╃巡洋艦㊣ 2015-06-28 已签到连续签到106天,获得了20个金钱
- ╃巡洋艦㊣ 2015-06-27 已签到连续签到105天,获得了20个金钱
- ╃巡洋艦㊣ 赞了说说毕业了,伤感了好几天,不想做事
一个人成功也好,平淡也罢,扯淡也好,沉默也罢!只要没影响到别人,这都是他自己的选择,不容侵犯。自由万岁!
@YiiSoEasy 你的话说的有问题,这是我们大家的社区!- ╃巡洋艦㊣ 赞了说说一个人成功也好,平淡也罢,扯淡也好,沉默也罢!只要没影响到别人,这都是他自己的选择,不容侵犯。自由万岁!