totov / laravel-soft-delete-morph-to-many-pivots
允许 morphToMany 关联的 Pivot 软删除。
v1.0.7
2023-10-17 12:25 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
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)。请参阅 许可证文件 了解更多信息。