thinkphp6 获取刚入库的数据ID方法

发布时间 2023-04-19 10:21:41作者: 第一夫人

首先,插入数据,有3个方法都可以实现

create()

create方法返回当前模型的对象实例,用箭头符号就能获取主键ID
如果你的自增ID是id的话,获取方法也要变成 $order->id

$order = order::create($data);
echo $order->id; 
save()

save方法返回新增总数,不能通过返回值获取。需要通过模型本身拿到自增主键。

$order = new order;
$order->save($data);
echo $order->id;
insert()

insert() 方法添加数据成功返回添加成功的条数,通常情况返回 1
只能用其它方法获取主键ID,如getLastInsID(),insertGetId()

Db::name('order')->insert($data, true);
// 这个方法用来获取最后一条数据的主键ID
echo Db::name('order')->getLastInsID();

// 推荐 插入并返回自增ID
echo $id = Db::name('order')->insertGetId($data);
tp6默认主键为id,如果你没有使用id作为主键名,需要在模型中设置组件的字段属性:

namespace app\model;
use think\Model;

class Order extends Model
{
    protected $pk = 'order_id';
}