今天在做项目的时候有一个需求,那就是插入数据库字段的时候,有个字段是path,形式类似“1-2-3-4”,最后一个数字必须是当前数据行的id值,这就必须在插入数据的同时获取当前插入行的id值,看了一下tp5的手册,
发现了两个方法有两个方法来实现类似的功能:getLastInsID与insertGetId
//insert方法新增数据并返回主键值使用getLastInsID方法:
Db::name('user')->insert($data);
$userId = Db::name('user')->getLastInsID();
// 使用insertGetId方法,返回当前插入行的id值
Db::name('user')->insertGetId($data);
有一个比较笨的办法,就是插入数据后再修改当前插入行的path字段的值,代码类似:
$lastId = Db::name('terms')->insertGetId($sldata);
$lastpath = $path.'-'.strval($lastId);
$res = Db::name('terms')->where('term_id', $lastId)->update(['path' => $lastpath]);
记录一下
Comments