繁体   English   中英

如何使用Laravel的“查询”构建器还原软删除的记录?

[英]How to restore a soft deleted record using Laravel's Query builder?

我一直在为我的项目使用查询构建器,并希望使用查询构建器恢复软删除的记录。

请看这里https://laravel.com/docs/5.6/eloquent#soft-deleting

恢复软删除的模型有时您可能希望“取消删除”软删除的模型。 要将软删除的模型还原为活动状态,请在模型实例上使用restore方法:

$flight->restore();

要么

Model::query()->restore();

如果你想手动做..只是

Model::whereNotNull('deleted_at')->update([
    'deleted_at' => null
]);

软删除的作用是将值设置为deleted_at列,然后使用全局范围过滤deleted_at列具有值的记录。

因此,要恢复软删除记录,您只需将deleted_at列设置为null即可。

正如您想要使用查询构建器一样

DB::table('table')
  ->where('id', $recordToRestoreId)
  ->update(['deleted_at' => null]);

如果使用Eloquent

Model::withTrashed()
     ->where('id', $recordToRestoreId)
     ->restore();

或者如果你有一个模型实例

$model->restore();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM