ThinkPHP6 模型实例化后多次新增数据获取自增ID重复问题解决方案
ThinkPHP6 模型实例化后多次新增数据获取自增ID重复问题解决方案
如果在ThinkPHP6模型实例化后多次使用save方法进行新增数据,每次新增数据获取的自增ID是重复的,可能是因为在多次新增数据时,没有重新实例化模型对象,导致上一次新增数据的自增ID仍然被保留在模型对象中。
解决方法是在每次新增数据之前,重新实例化模型对象,以清空上一次新增数据的自增ID。可以使用new关键字创建新的模型对象,如下所示:
// 创建模型对象
$model = new YourModel();
// 第一次新增数据
$data = [
'field1' => 'value1',
'field2' => 'value2',
];
$model->save($data);
// 获取第一次新增数据的自增ID
$id1 = $model->id;
// 第二次新增数据前重新实例化模型对象
$model = new YourModel();
// 第二次新增数据
$data = [
'field1' => 'value3',
'field2' => 'value4',
];
$model->save($data);
// 获取第二次新增数据的自增ID
$id2 = $model->id;
这样,每次新增数据时都会重新实例化模型对象,确保获取到的自增ID不会重复。
原文地址: https://www.cveoy.top/t/topic/pfSn 著作权归作者所有。请勿转载和采集!