【Laravel】ソフトデリート
※下記の内容に不備がありましたら、コメント頂けると幸いです。また、下記の内容をご使用頂ける場合は自己責任でお願いします。
【目次】
背景
Laravelで出てくる「ソフトデリート」「forceDeleteメソッド」がよく分からなかったので、記事にまとめてみます。
ソフトデリート
ソフトデリートとは?
論理削除を行い、復元可能な状態でデータを削除します。
実際にデータベースのレコードを削除するわけではありません。
方法
モデルにdeleted_at属性をセットし、データベースへ書き戻します。
モデルのdeleted_atの値がNULLでなければ、ソフトデリートされています。
モデルのソフトデリートを有効にするには、モデルにlluminate\Database\Eloquent\SoftDeletesトレイトを使い、deleted_atカラムを$datesプロパティに追加します。
モデルの完全削除
データベースからソフトデリート済みモデルを永久に削除するには、forceDeleteメソッドを使います。
参考
素晴らしい記事に感謝いたします。