如何使用Laravel Query Builder恢复软删除记录?
用Query Builder恢复软删除记录的实操方案
嘿,既然你一直在用Query Builder,那恢复软删除的记录其实挺简单的!软删除的核心逻辑就是给记录标记一个非空的deleted_at(或者你自定义的类似字段),所以恢复的本质就是把这个字段重置为null就行。
下面给你两种常见场景的代码示例:
1. 恢复单条指定记录
如果你知道要恢复的记录ID,直接定位后更新字段即可:
DB::table('your_table_name') ->where('id', $targetRecordId) ->update(['deleted_at' => null]);
2. 恢复符合条件的一批记录
如果要恢复某一类软删除的记录(比如某个用户的所有删除内容),可以加上筛选条件,同时确保只操作已被软删的记录:
DB::table('your_table_name') ->where('user_id', $targetUserId) // 替换成你的实际筛选条件 ->whereNotNull('deleted_at') // 仅针对已软删除的记录 ->update(['deleted_at' => null]);
小提醒
如果你的项目里软删除字段不是默认的deleted_at(比如自定义为deleted_time),记得把代码里的字段名替换成你实际使用的那个哦!
内容的提问来源于stack exchange,提问作者Prashanth
相关产品推荐
相关产品推荐

