見出し画像

LaravelでDBの論理削除を実装してみた

業務中に Laravel の論理削除の実装方法を調べて実際にできたことを簡単にまとめようと思います。

DBテーブルに deleted_at を追加

まず初めに、論理削除を実装するDBテーブルに「deleted_at」カラムを追加する必要があります。すでにある場合は次に行きます。

論理削除を実装するモデルの修正

論理削除を実装するモデルに追加のソースコードを入力する

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDaletes; #追加

class Author ectends Model
{
  use SoftDeletes; #追加
}

これで論理削除ができるようになる。
後は Controller ファイルの方で以下のような削除機能を追加してあげればOK

use App\Models\Author;

public function delete($id)
{
   Author::find($id)->delete();
}

実際に削除処理をやってみて、DBテーブルを見ると deleted_at のところに日付が入っていれば論理削除完了です。

かなり大雑把に書きました。
詳しいことは、他の方の記事を参考にしていただければと思います。
少しずつ改善していきます。

最後まで読んでいただきありがとうございました。

この記事が気に入ったらサポートをしてみませんか?