tihab/soft-deletes-parent

当父级软删除时,软删除子级

资助包维护!
dillingham

1.0.0 2023-03-12 06:56 UTC

This package is auto-updated.

Last update: 2024-09-12 10:15:13 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

当您恢复父级模型时,自动软删除模型的孩子,同时保持他们自己的软删除状态。安装以下特质后,每当删除或恢复 Author 模型时,Post 模型的 parent_deleted_at 将更新。这允许您在 Author 恢复后保持 Post 模型的原始 deleted_at。当父级被删除时,Post 模型将查询范围设置为排除所有父级被删除的情况。

安装

您可以通过 composer 安装此包

composer require dillingham/soft-deletes-parent

使用方法

parent_deleted_at 列添加到您的表中

Schema::table('posts', function (Blueprint $table) {
    $table->softDeletesParent();
});

并将特质和父模型添加到您的子模型中

<?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);
    }
}

范围

与父级已删除

Post::withParentTrashed()->get();

仅父级已删除

Post::onlyParentTrashed()->get();

测试

composer test

贡献

有关详细信息,请参阅CONTRIBUTING

安全漏洞

有关如何报告安全漏洞的详细信息,请审查我们的安全策略

鸣谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅许可文件