1. 将数据赋值给model对象再通过model保存数据到数据库时有两种方法。
1) load()再save()。
这种可以通过$model->setScenario('test_scenario');再在model中的scenarios()方法中配置相关字段,再在rules()方法中对每一个字段进行验证。
save()方法执行时只会取scenario中配置的字段构建sql语句并保存到数据库。
2) 给对象中属性赋值再save()。如$user->username = 'test'; $user->save()。
这种方式可以在save()方法中指定只对哪些字段进行更新。如$user->save(true, ['username', 'email']);
如果需要使用scenario中配置的字段可以简写成这样:$user->update(true, $user->scenarios()[$user->getScenario()]);
相关文章
- java8对list集合中数据进行过滤对集合中的某个对象多个属性排序
- 数据库中无数据时查询数据为空,但出现空指针异常的解决方案(转载https://blueskator.iteye.com/blog/2096026)
- JavaScript合并数组对象中key相同的数据(将数组里某个属性相同的对象合并成一个数组)三种方案。
- sqlserver数据库中如果对数值型的字段进行小数点保留两位,如果是小于1的数,前面的0消失解决方案
- 在一个千万级的数据库查寻中,如何提高查询效率?分别说出在数据库设计、SQL语句、java等层面的解决方案。
- 【项目实战】使用Hutool-json工具包中的方法序列化,对象数据中值为null的属性被过滤的问题
- vue3中数据更新,视图没有更新解决方案
- Vue 3为什么移除过滤器功能以及替代方案(如何使用计算属性代替过滤器、讨论使用过滤器的最佳实践、如何在Vue 3中实现类似过滤器的功能)
- Sql server中过滤数据关键字
- Linux中Curl命令couldn't connect to host解决方案 php操作Curl(http,https)无法获取远程数据解决方案