1、load()与validate()要一起用
load()只是加载数据,validate()才是验证。
2、更新和添加都用save()
可以不用validate(),因为save方法会先调用validate()再执行insert()或者update()。
yii通过$model->isNewRecord 来判断是不是一条新纪录,然后调用insert()或者update()。
3、load()和setAttributes()方法都属于批量赋值,yii为了保护数据的安全性,是禁止批量赋值的,但是当数据符合rule规 则的时候就可以批量赋值了,所以没写rules就不能用load()。
4、就算某个字段不需要什么规则,用户输入什么都可以,那么要把这个字段的规则设置safe,一般gii生成的model最后 一行都是safe的。
5、当你调用 save()、insert()、update() 这三个方法时,会自动调用yii\base\Model::validate()方法
本文详细介绍了Yii框架中Model类的常用操作方法,包括load(), validate(), save(), insert(), update()等方法的区别与使用场景。重点讲解了如何通过isNewRecord属性判断记录是否为新增,并解释了批量赋值的方法及限制条件。
1923

被折叠的 条评论
为什么被折叠?



