yii2 中 save 方法 应该说是新增和修改数据库操作中 最常用的方法了
但是大多数新手 往往弄不清楚 save方法 和 insert方法 update方法 的区别 下面我就详细的给大家区分一下他们的区别
- 相同点
save insert update 方法在执行前 如果有验证都会被验证一遍 如果验证失败 会返回 false 数据不会更新或插入到数据库中
不同点
save 方法可以新增也可以插入数据 insert方法只能插入数据 update方法只能更新数据
save方法的详细理解
当调用 save() 方法会调用 insert() 和 update() 中的一个 用哪个取决于当前AR对象是不是新对象 (在函数内部,他会检查 yii\db\ActiveRecord::isNewRecord 的值) 若 AR 对象是由 new 操作符 初始化出来的 save() 方法会在表里插入一条数据 如果一个 AR 是由 find() 方法获取来的 则 save() 会更新表里的对应行记录