如果你在 ThinkPHP6 中的模型中多次调用 save 方法,但只有一次写入数据库,可能是因为你在多个 save 方法调用之间没有重新加载模型数据。

在 ThinkPHP6 中,如果模型数据没有发生变化,即使多次调用 save 方法,也不会重新写入数据库。这是通过检测模型数据是否发生变化来实现的,以提高性能。

要解决这个问题,你可以在每次调用 save 方法之前,使用 reload 方法重新加载模型数据,示例如下:

// 创建模型对象
$model = new YourModel();

// 设置模型数据
$model->name = 'John';
$model->age = 20;

// 第一次保存
$model->save();

// 重新加载模型数据
$model->reload();

// 修改模型数据
$model->age = 21;

// 第二次保存
$model->save();

通过在每次调用 save 方法之前重新加载模型数据,就可以确保每次都会写入数据库。

ThinkPHP6 模型 save 多次调用只写入一次数据解决方法

原文地址: https://www.cveoy.top/t/topic/pfSB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录