Restrict deletes for Eloquent models that implement soft deletes.
kobalazs/laravel-restrict-soft-deletes is a Laravel package for restrict deletes for eloquent models that implement soft deletes..
It currently has 3 GitHub stars and 3.079 downloads on Packagist.
Install it with composer require kobalazs/laravel-restrict-soft-deletes.
Discover more Laravel packages by kobalazs
or browse all Laravel packages to compare alternatives.
Last updated
Restrict deletes for Eloquent models that implement soft deletes. Based on the idea of Michael Dyrynda at https://dyrynda.com.au/blog/cascading-soft-deletes-with-laravel-and-eloquent
Run composer require kobalazs/laravel-restrict-soft-deletes
Netpok\Database\Support\DeleteRestrictionException (HTTP 403)namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Netpok\Database\Support\RestrictSoftDeletes;
class User extends Model
{
use SoftDeletes;
use RestrictSoftDeletes;
/**
* The relations restricting model deletion
*/
protected $restrictDeletes = ['posts'];
/**
* Eloquent relationship (has to be defined for RestrictSoftDeletes to work!)
*/
public function posts()
{
return $this->hasMany('App\Post');
}
...
}
In this example a User can not be deleted while they have any Post that is not soft-deleted.