大田区から発信するゆるゆる日記

主にITエンジニアに関する備忘録日記。たまに趣味も。何か不備があればコメント頂けると幸いです。Twitterアカウント https://twitter.com/ryuzan03

【Laravel】ソフトデリート

※下記の内容に不備がありましたら、コメント頂けると幸いです。また、下記の内容をご使用頂ける場合は自己責任でお願いします。

【目次】

 

背景

 Laravelで出てくる「ソフトデリート」「forceDeleteメソッド」がよく分からなかったので、記事にまとめてみます。

 

ソフトデリート

ソフトデリートとは?

論理削除を行い、復元可能な状態でデータを削除します。

実際にデータベースのレコードを削除するわけではありません。 

 

方法

モデルにdeleted_at属性をセットし、データベースへ書き戻します。
モデルのdeleted_atの値がNULLでなければ、ソフトデリートされています。

 

モデルのソフトデリートを有効にするには、モデルにlluminate\Database\Eloquent\SoftDeletesトレイトを使い、deleted_atカラムを$datesプロパティに追加します。

 

モデルの完全削除

データベースからソフトデリート済みモデルを永久に削除するには、forceDeleteメソッドを使います。

 

 

参考

素晴らしい記事に感謝いたします。

Eloquent:利用の開始 5.5 Laravel