承接 imarc/cascade 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

imarc/cascade

最新稳定版本:1.0.2

Composer 安装命令:

composer require imarc/cascade

包简介

Cascading soft deletes for Laravel Eloquent

README 文档

README

Cascading soft deletes for Laravel Eloquent. When a parent model is soft-deleted, related models are soft-deleted. When the parent is restored, all currently trashed rows for those relations are restored one-by-one so restored events run (nested cascades work). This still restores every trashed child for that foreign key, not only rows deleted in the same cascade as the parent.

Usage

Use Laravel’s SoftDeletes and this package’s CascadeSoftDeletes on the parent. List relationship method names to cascade:

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Imarc\Cascade\CascadeSoftDeletes;

class Post extends Model
{
    use CascadeSoftDeletes, SoftDeletes;

    /** @var list<string> */
    protected array $cascadeSoftDeletes = ['comments'];

    public function comments(): HasMany
    {
        return $this->hasMany(Comment::class);
    }
}

Child models should use SoftDeletes if you want them included; non–soft-delete children are skipped on cascade delete.

Supported relations

HasMany, HasOne, MorphMany, and MorphOne are supported. BelongsTo, BelongsToMany, and other relation types are ignored for cascading.

Force delete

When the parent is force-deleted, soft-deletable children in the listed relations are force-deleted so orphaned soft-deleted rows are not left behind.

Install

composer require imarc/cascade

Tests (from application root)

php artisan test --testsuite=Cascade

Or:

./vendor/bin/phpunit -c packages/imarc/cascade/phpunit.xml

统计信息

  • 总下载量: 20
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-14