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

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

怎么在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标签库技术的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,而且支持自定义标签库。

首先数据表中要有一个子增长的字段。字段类型设置成:

然后,在该字段的属性里边会有一个序列:

继续,通常我们都这样来插入数据:

query("insert into ......")

紧接着执行这样的sql,就会得到刚才插入的id值

result = query("select currval('address_address_id_seq')")// 加粗部分就是上边红框内的序列

这次查询返回的结果一般是这样的:

我们需要的部分也主要是红框内的数据,这样我们想要的结果就出来了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6760754.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存