save() create()区别

区别:

save():

save()方法的调用必须先实例化对象,所以是非静态(static)方法;
save()方法的功能是插入或更新(create or update),这个很重要,每一次调用方法都会查找当前的数据是否包含主键和数据表里是否包含当前主键,如果数据中没主键则获得一个自增的主键给当前对象,如果数据表中以存在该主键则更新该条数据;
返回值为 @return integer|false 整型或false。
creat():

create()方法为静态方法;通过通过类直接调用;
create()的功能为实例对象和插入(new and create);
返回值为当前模型的 实例对象。
原因:
save()方法只插入一条数据的原因是,但第一条数据被插入时之前实例好的对象在插入时被赋予了一个主键值,之后的操作由于主键相同就被方法判定为更新操作,导致数据库中只多了一条数据。
而create()方法每一次执行都生成一个实例对象,每一个对象都会得到一个不同的主键,所有可以插入多条相同数据。

原文链接:blog.csdn.net/define_LIN/article/d...

本作品采用《CC 协议》,转载必须注明作者和本文链接
放肆疯狂,委婉洒脱。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!