前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3分钟短文 | Laravel模型获取最后一条插入记录的ID编号

3分钟短文 | Laravel模型获取最后一条插入记录的ID编号

作者头像
程序员小助手
发布2020-08-03 20:30:46
2.6K0
发布2020-08-03 20:30:46
举报
文章被收录于专栏:程序员小助手程序员小助手

学习时间

为了模拟实际编程情况,我们使用以下代码。比如有一个CRM系统,需要用户输入上报公司信息之后,通过API接口返回提示信息。

代码比较简单,知识将 request 的 input 内容复制给 Company 模型的属性,然后调用 save 方法将数据存入。

那么,如果想要获取存入后数据条目的ID,如何返回呢?

其实,save 方法本身就是链式调用的,会返回当前的 Company 模型对象。直接调用属性值即可:

代码语言:javascript
复制
$data->id;

封装到 Response 响应体内:

代码语言:javascript
复制
return Response::json(array('success' => true, 'last_insert_id' => $data->id), 200);

上面的写法自然是对的,返回的是当前写入的条目的ID。但是,如果是并发的系统,或者在流程处理中,没有使用 Company 模型进行数据操作,而是 DB::statement,DB::insert 这些,获取到的,可就不是最后的ID了。

兼容的写法,需要考虑多用户并发操作,以及数据更新源不同的情况。那么需要使用独立的方式:

代码语言:javascript
复制
DB::getPdo()->lastInsertId();

这样就可以了,基本上不会出错。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员小助手 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 学习时间
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档