PHPackages                             assettv/laravel-cascaded-soft-deletes - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. assettv/laravel-cascaded-soft-deletes

ActiveLibrary[Database &amp; ORM](/categories/database)

assettv/laravel-cascaded-soft-deletes
=====================================

Cascade soft delete for chosen relations

1.0.1(11mo ago)01.6k↓50%[4 PRs](https://github.com/assettv/laravel-cascaded-soft-deletes/pulls)MITPHPPHP ^8.4CI passing

Since Jun 3Pushed 1mo agoCompare

[ Source](https://github.com/assettv/laravel-cascaded-soft-deletes)[ Packagist](https://packagist.org/packages/assettv/laravel-cascaded-soft-deletes)[ Docs](https://github.com/assettv/laravel-cascaded-soft-deletes)[ RSS](/packages/assettv-laravel-cascaded-soft-deletes/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (13)Versions (7)Used By (0)

Cascade Soft Delete for Laravel Models
======================================

[](#cascade-soft-delete-for-laravel-models)

[![Latest Version on Packagist](https://camo.githubusercontent.com/53c935bb3a584ceed3b95c1f7f75b5f5cbcdad9c5e1e4e293654ac0e5ed7f834/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f617373657474762f6c61726176656c2d63617363616465642d736f66742d64656c657465732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/assettv/laravel-cascaded-soft-deletes)[![GitHub Tests Action Status](https://camo.githubusercontent.com/87567d0bba94851e64403489e1cfbf2aac27258d5bbff9f24f0d6802ddca827b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f617373657474762f6c61726176656c2d63617363616465642d736f66742d64656c657465732f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/assettv/laravel-cascaded-soft-deletes/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/78ae08d5e67118ca66f3084adf6eac4ad0981e2f62cd0ab5ecf33aee75aac70e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f617373657474762f6c61726176656c2d63617363616465642d736f66742d64656c657465732f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/assettv/laravel-cascaded-soft-deletes/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/abae2b33364b33dcc406879bd5522243f1217638fd02aaf6c6cb279b5f01db30/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f617373657474762f6c61726176656c2d63617363616465642d736f66742d64656c657465732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/assettv/laravel-cascaded-soft-deletes)

Features
--------

[](#features)

1. **Cascade Soft Delete for Relations**
    Soft delete related records automatically when a parent is soft deleted.
2. **Cascade Restore for Relations**
    Automatically restore related models if their `deleted_at` is later than or equal to the parent's restore date.
3. **Custom Query Support**
    Use a custom query to control cascade actions.
4. **Configurable Queue Behavior**
    All cascade actions are queued by default. This behavior can be customized by publishing and editing the package's config file.

---

**Note:**
This package is based on [Laravel Cascaded Soft Deletes (original, no longer maintained)](https://github.com/razisayyed/laravel-cascaded-soft-deletes).

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require assettv/laravel-cascaded-soft-deletes
```

You can publish the config file with:

```
php artisan vendor:publish --tag="laravel-cascaded-soft-deletes-config"
```

Usage
-----

[](#usage)

To set up CascadedSoftDeletes, you need to use the trait on the parent model and define `$cascadedSoftDeletes` property or `getCascadedSoftDeletes()` method.

### Simple example with `$cascadedSoftDeletes` property

[](#simple-example-with-cascadedsoftdeletes-property)

```
