totov/laravel-soft-delete-morph-to-many-pivots

允许 morphToMany 关联的 Pivot 软删除。

v1.0.7 2023-10-17 12:25 UTC

This package is auto-updated.

Last update: 2024-09-08 01:17:29 UTC


README

安装

您可以通过 composer 安装此包

composer require totov/laravel-soft-delete-morph-to-many-pivots

使用

使用 MorphToManySoftDeletesTrait 特性和 morphToManySoft 函数,它返回一个 MorphToManySoftDeletes

use Illuminate\Database\Eloquent\Model;
use Totov\LaravelSoftDeleteMorphToManyPivots\MorphToManySoftDeletes;
use Totov\LaravelSoftDeleteMorphToManyPivots\Traits\MorphToManySoftDeletesTrait;

class User extends Model
{
    use MorphToManySoftDeletesTrait;

    public function user_types(): MorphToManySoftDeletes
    {
        return $this->morphToManySoft(UserType::class, 'types');
    }
}

在 morphed 模型上使用 morphedByManySoft 函数

use Illuminate\Database\Eloquent\Model;
use Totov\LaravelSoftDeleteMorphToManyPivots\MorphToManySoftDeletes;
use Totov\LaravelSoftDeleteMorphToManyPivots\Traits\MorphToManySoftDeletesTrait;

class UserType extends Model
{
    use MorphToManySoftDeletesTrait;

    public function users(): MorphToManySoftDeletes
    {
        return $this->morphedByManySoft(User::class, 'types');
    }
}

确保您的 pivot 表有一个 deleted_at 列,它可以用于软删除。

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全漏洞

请查看 我们的安全策略 了解如何报告安全漏洞。

致谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。