Safe deletion with soft deletes:
Enable Soft Deletes
use SoftDeletes;
protected $dates = ['deleted_at'];Migration
$table->softDeletes();Query Soft Deleted
$trashedPosts = Post::onlyTrashed()->get();
$allPosts = Post::withTrashed()->get();Restore and Force Delete
$post->restore();
$post->forceDelete();