簡體   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