美文网首页
TP5.0 同时用两个save()方法该怎么用,saveAll(

TP5.0 同时用两个save()方法该怎么用,saveAll(

作者: IT行者q | 来源:发表于2019-03-19 13:44 被阅读0次

1,同时使用两个save()方法

一个实例中,也就是一个类,有时候或许只调用了一个方法的时候,如果你用了两个save()方法,tp5.0框架默认是第一次使用save()方法是用于插入操作,第二次是更新操作,注意:一定是在同一个实例中。如果是第二次还是插入操作,则需要用isUpdate()这个方法。

代码如下:

$user           = new User;
$user->name     = 'thinkphp';
$user->email    = 'thinkphp@qq.com';
$user->save();
$user->name     = 'onethink';
$user->email    = 'onethink@qq.com';
// 第二次开始必须使用下面的方式新增
$user->isUpdate(false)->save();

2.使用saveAll()的细节

saveAll() 方法新增数据默认会自动识别数据是需要新增还是更新操作,当数据中[存在主键]的时候会认为是更新操作,没有主键时会默认是插入操作。并且,saveAll()的批量更新必须要有主键,若无主键,则使用foreach加update()更新,用foreach加save()更新会失败,原因为以上第一条所述。

$user = new User;
$list = [
    ['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'],
    ['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com'],
];
$user->saveAll($list, false);

相关文章

  • TP5.0 同时用两个save()方法该怎么用,saveAll(

    1,同时使用两个save()方法 一个实例中,也就是一个类,有时候或许只调用了一个方法的时候,如果你用了两个sav...

  • JPA SaveAll的分析

    使用 Springboot JPA 插入单条数据使用 save 方法,插入多条使用 saveAll,但是仔细看相应...

  • Neo4j-spring data 基本使用,第二发

    我们直接使用spring-data jpa saveAll方法保存关系(边)试试 结果 该如何呢?试试自定义sav...

  • 有关于OC内存管理的使用

    用类方法创建的对象你怎么release掉?!用在类方法里追加autoRelease方法 , 在main函数里使用该...

  • 朋友该怎么用

    没有夜色 何来星光 Sarrien:当我生活上有任何不满任何困难时,我就会去找一个固定的朋友倾诉,听她说说她的...

  • 赠品该怎么用?

    最近又发现了一个新问题,就是促销人员对赠品的运用,似乎有些问题。 赠品,其实就是送给客户的礼品,那么我们应该思考本...

  • 标签该怎么用

    近来因为做一个标签功能,大家讨论很多次,最终发布了一个版本。但是上线后引来用户各类吐槽。 一个标签功能应该是什么样...

  • 点击空白区域,弹框消失

    如果我们用的是onclick="oncall()",点击弹出弹框用,该方法需要在函数里获取e 该方法适用于苹果手机...

  • 下载引用的文件

    下载方法1:直接用a标签; 下载方法2:用创建iframe的方法;(该js文件存放在静态资源里)

  • 问题的答案

    知识有两个方向 先给你一个东西,告诉你它怎么用 给你一个问题,问你用什么才能得到结果 这是两个方向,应该同时进行 ...

网友评论

      本文标题:TP5.0 同时用两个save()方法该怎么用,saveAll(

      本文链接:https://www.haomeiwen.com/subject/noygmqtx.html