在ThinkPHP8中,如果你想要批量恢复被软删除的数据,可以使用模型的withTrashed
方法结合restore
方法。以下是一个示例代码:
use think\facade\Db;
// 假设有一个Model名为YourModel,它有一个软删除字段delete_time
// 首先,你需要获取到你要恢复的数据的ID集合
$deletedIds = [1, 2, 3]; // 这里的ID是软删除数据的ID集合
// 然后,使用模型的withTrashed方法和restore方法来批量恢复数据
YourModel::withTrashed()->where('id', 'in', $deletedIds)->select()->each(function ($item) {
$item->restore();
});
确保你的模型中有delete_time
字段,并且在模型中配置了软删除功能:
use think\Model;
class YourModel extends Model
{
// 其他模型配置...
// 定义软删除字段名
protected $deleteTime = 'delete_time';
// 表示软删除的数据值
protected $withEvent = false;
}
这样,你就可以通过指定的ID集合来批量恢复被软删除的数据了。