怎么在thinkphp添加数据时获取自动增长的id

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在thinkphp添加数据时获取自动增长的id相关的知识,希望对你有一定的参考价值。

怎么在thinkphp添加数据时获取自动增长的id?

    下面是TP5的方法,TP3的在添加后变量直接就获取了。添加数据后如果需要返回新增数据的自增主键,可以使用 getLastInsID 方法:
    Db::name('user')->insert($data);

    $userId = Db::name('user')->getLastInsID();或者直接使用 insertGetId 方法新增数据并返回主键值:

    Db::name('user')->insertGetId($data);

ThinkPHP

ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP 开发框架,遵循 Apache2 开源协议发布,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。

基本特性

    简单易用的MVC模式                                                                         

    模型(M):模型的定义由Model类来完成。Model类位于项目目录下面的LibModel目录。

    控制器(C):应用控制器(核心控制器)和Action控制器都承担了控制器的角色,区别在于Action控制器完成业务过程,而应用控制器(App类)负责调度控制。Action控制器位于项目目录下面的LibAction目录。

    视图(V):模板的实现是和框架无关的,做到了100%分离,可以独立预览和制作。模板目录位于项目目录下面的Tpl目录。

2.独创的核心编译和二分法项目编译机制

ThinkTemplate是一个使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,而且支持自定义标签库。 

参考技术A 下面是TP5的方法,TP3的在添加后变量直接就获取了。
添加数据后如果需要返回新增数据的自增主键,可以使用 getLastInsID 方法:
Db::name('user')->insert($data);
$userId = Db::name('user')->getLastInsID();
或者直接使用 insertGetId 方法新增数据并返回主键值:
Db::name('user')->insertGetId($data);本回答被提问者采纳
参考技术B $result=M('table')->add($data);
$result 就是添加成功之后返回的id

以上是关于怎么在thinkphp添加数据时获取自动增长的id的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp更新数据怎么添加条件?

mysql怎么修改自动增长ID的步长

C#如何获取access新增数据的自动增长ID号

mysql主键生成策略 自动增长

thinkphp5.0中往表中添加多条记录,怎么获取到所有添加的ID?

数据库表ID怎么设置自动增长