在这里查看https://laravel.com/docs/5.6/eloquent#soft-deleting
恢复软删除的模型有时您可能希望“取消删除”软删除的模型。要将软删除的模型还原为活动状态,请在模型实例上使用restore方法:
$flight->restore();
Run Code Online (Sandbox Code Playgroud)
要么
Model::query()->restore();
Run Code Online (Sandbox Code Playgroud)
如果您想手动进行操作。
Model::whereNotNull('deleted_at')->update([
'deleted_at' => null
]);
Run Code Online (Sandbox Code Playgroud)
软删除的作用是为deleted_at列设置一个值,然后deleted_at使用全局范围过滤列具有值的记录。
因此,要恢复软删除的记录,您只需将该deleted_at列设置为空。
正如您想使用查询构建器那样做
DB::table('table')
->where('id', $recordToRestoreId)
->update(['deleted_at' => null]);
Run Code Online (Sandbox Code Playgroud)
如果使用 Eloquent
Model::withTrashed()
->where('id', $recordToRestoreId)
->restore();
Run Code Online (Sandbox Code Playgroud)
或者如果你有一个模型实例
$model->restore();
Run Code Online (Sandbox Code Playgroud)