Soft delete children when parent soft deletes
tihab/soft-deletes-parent is a Laravel package for soft delete children when parent soft deletes.
It currently has 0 GitHub stars and 105 downloads on Packagist (latest version 1.0.0).
Install it with composer require tihab/soft-deletes-parent.
Discover more Laravel packages by tihab
or browse all Laravel packages to compare alternatives.
Last updated
Automatically soft delete a model's children while maintaining their own soft deleted state when you restore the parent model. After installing the trait below, the Post model's parent_deleted_at will update whenever an Author model is deleted or restored. This allows you to maintain the original deleted_at for the Post model after Author is restored. The Post model will scope queries to exclude any where the parent is deleted.
You can install the package via composer:
composer require dillingham/soft-deletes-parent
Add the parent_deleted_at column to your table:
Schema::table('posts', function (Blueprint $table) {
$table->softDeletesParent();
});
And add the trait and parent model to your child model:
<?php
namespace App\Models;
use Dillingham\SoftDeletesParent\SoftDeletesParent;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use SoftDeletesParent;
}
<?php
namespace App\Providers;
class AppServiceProvider
{
public function register()
{
Post::softDeletesParent(Author::class);
}
}
With parent trashed:
Post::withParentTrashed()->get();
Only parent trashed:
Post::onlyParentTrashed()->get();
composer test
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.