Skip to content

Laravel soft deletes: delete, restore and query trashed records

PHP Dasun Kalupahana 50 views

<?php

// migration
$table->softDeletes();

// model
use Illuminate\Database\Eloquent\SoftDeletes;

class Post extends Model
{
    use SoftDeletes;
}

// usage
$post->delete();                 // sets deleted_at
Post::withTrashed()->get();      // include deleted
Post::onlyTrashed()->restore();  // restore deleted
$post->forceDelete();            // remove permanently

Marks a row as deleted instead of removing it, so you can restore it later. withTrashed() and onlyTrashed() let you query deleted rows.

Learn more on the blog

Get new articles in your inbox

Practical tutorials and deep dives, about once a week. No spam, unsubscribe anytime.

Privacy policy

Add DEV Talk to your Home Screen

  1. 1 Tap the Share button in Safari's toolbar.
  2. 2 Scroll down and tap Add to Home Screen.
  3. 3 Tap Add. Open it from the Home Screen to read like an app and to turn on notifications with the bell.

We use cookies to improve your experience and analyze traffic. By continuing, you agree to our Privacy Policy.