framework
framework copied to clipboard
Thinkphp6 批量删除恢复问题
手册中没有实现批量删除恢复的示例,使用: $newCustomers = CustomerModel::select($ids); $newCustomers->restore(); 报错: Call to undefined method think\model\Collection::restore()
使用 saveAll 更新 delete_time 为 null 无效。估计是框架过滤了。
无法直接更新 delete_time 吗?必须使用 restore() 更新 delete_time ?
无法直接更新 delete_time 吗?必须使用 restore() 更新 delete_time ?
使用 force() 强制更新也不行
看下我使用的
$data = model::onlyTrashed()->whereIn('id', $ids)->select();
foreach ($data as $k) {
$k->restore();
}
看下我使用的
$data = model::onlyTrashed()->whereIn('id', $ids)->select(); foreach ($data as $k) { $k->restore(); }
对,就是需要使用 restore 恢复软删除的,使用更新直接更新 delete_time 为 null 好像不管用。
不知道你在纠结啥
不知道你在纠结啥
倒不是纠结,早晨没更新成功,下午发现是这个的原因。因为恢复时还要修改其他内容,感觉不能一次性更新完成影响效率。
你也可以在update前加上withTrashed
,总之要明确当前代码操作的包不包含软删除。