【Laravel6】論理削除を実装する方法

Laravel

スポンサーリンク

ユーザー情報などをデータベースから削除する場合などに、物理削除ではなく、論理削除にしたい場合ってありますよね。

そんなときも、Laravelならすぐにできちゃいます。

論理削除用カラムの追加

[database/migrations/yyyy_mm_dd_000000_create_users_table.php]※一部抜粋

    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            // 省略
            $table->softDeletes();
        });
    }

これで「delete_at」というカラムが作成されます。

モデルを修正

[app/User.php]※一部抜粋

use Illuminate\Database\Eloquent\SoftDeletes;
// 省略
class User extends Authenticatable implements MustVerifyEmail
{
    // 省略
    use SoftDeletes; // 追加
    // 省略

これで、delete()を行うと「delete_at」カラムに日付が入力されて論理削除になります。

 

たったこれだけで論理削除のロジックが作れます。

Laravel

Posted by ton