Laravel Breezeのユーザ削除機能を物理削除から論理削除に変更する【Laravel10】
Laravel Breezeでは、ユーザが自分でアカウントを削除できる機能があります
しかしBreezeのデフォルトではユーザ情報はDBから物理削除(Hard Delete)されてしまいます。
物理削除だと色々と困ることもあるので、論理削除(Soft Delete)に変更したい所です
幸いにも、簡単に変更することができます
DBの修正
まずはDBのUserテーブルに論理削除用のカラムを追加します
マイグレーションで実行する場合は以下のコードを設定してマイグレーションを実行します
$table->softDeletes();
マイグレーションせずに、直接DBに追加する場合は以下のdeleted_atカラムを該当テーブルに追加します
名前 | タイプ | 属性 | NULL | デフォルト値 |
---|---|---|---|---|
deleted_at | timestamp | はい | NULL |
モデルの修正
namespace App\Models;
use Illuminate\Database\Eloquent\SoftDeletes;// <- を追加
class User extends Authenticatable implements MustVerifyEmail
{
use HasApiTokens, HasFactory, Notifiable, SoftDeletes; // <- 「SoftDeletes」を追加
あとはUserのモデルクラスにSoftDeletesのtraitを追加するだけです
たったこれだけで、ユーザの削除機能を論理削除に変更することができます
簡単ですね
ディスカッション
コメント一覧
まだ、コメントがありません
新たにPostされたDocs
: ツール関連
キーボードを銀軸から赤軸に買い替えた話
約3年半前、仕事で使うキーボードとしてARCHISS ProgresTouchの ...: スマホ
楽天モバイルがおすすめできない人の特徴とは?
楽天モバイルの最強プランをおすすめできない人の特徴を簡単にまとめてみました また ...: システム開発
なぜスクラムがつらいのか?開発現場が疲弊するのか?スクラムに対する違和感と共に原因を考えてみた
今ではどこの開発現場に行っても、やれスクラムスクラムと、まるでスクラムでもやって ...: Laravel
1つのテーブルを複数のテーブルと結合したい【Laravel10】
1つのテーブルを2つの異なるテーブルに対して結合したいケースがあったのでLara ...: Laravel
Laravelで複数画像アップロード時のvalidateを指定【Laravel10】
jQuery - Image Uploaderを使って、フォームから複数の画像を ...HashMap
created_by
はやぴ
Web/アプリ開発エンジニア
Sierにてお堅いB向けのソフトウェア開発を経て、現在はC向けのWebやアプリを中心に開発しています。
Utilities