betalabs/ laravel5-soft-cascade
此包最新版本(2.0.1)没有提供许可证信息。
软删除 & 恢复级联器
2.0.1
2017-04-20 13:29 UTC
Requires
- php: >=5.5.9
Requires (Dev)
- codacy/coverage: dev-master
- laravel/framework: 5.4
- laravel/laravel: 5.*
- laravel/lumen-framework: 5.*
- phpunit/phpunit: 4.*
README
Laravel/Lumen 5 软删除级联 & 恢复
使用 Laravel 或 Lumen SoftDeletes 功能时进行级联删除和恢复。
为什么需要它?
为了使软删除和恢复关系变得简单。
如果您喜欢像 MySQL 级联删除这样的功能,但想使用 Laravel 的 SoftDeletes 功能,您需要做一些额外的步骤来确保您的关联关系被正确删除或恢复。
此包旨在用定义您想要级联的关联关系的简单数组来替换这些步骤。
安装
使用 composer 安装
composer require askedio/laravel5-soft-cascade
在您的 config/app.php 中注册服务提供者
Laravel
Askedio\SoftCascade\Providers\GenericServiceProvider::class,
Lumen
Askedio\SoftCascade\Providers\LumenServiceProvider::class,
用法
在您的 Model
中启用 trait 并定义 $softCascade
。 示例。
use \Askedio\SoftCascade\Traits\SoftCascadeTrait;
protected $softCascade = ['profiles'];
$softCascade
是一个包含您关系名称的数组,在 示例 中,您将看到我们为该关系定义了 function profiles()
。
嵌套关系通过在相关的 Model
中定义 $softCascade
来实现,如 此处 所示。
定义好您的关联关系后,您只需在您的 Model
上触发 delete()
或 restore()
,您的关联关系就会执行相同的任务。
User::first()->delete();
User::withTrashed()->first()->restore();
支持的数据库
- MySQL
- SQLite
测试
我已经编写了一些非常基本的测试,但肯定还需要做更多。如果您认为这很有用,请通过测试其他数据库或编写更好的单元测试来帮助,因为我必须继续前进。
问题 & 贡献
我将在一个新 API 中使用 MySQL,所以与我使用相关的任何问题都将得到解决。如果您发现 MySQL 存在问题,请报告并我将修复它。
如果您使用的是其他数据库并遇到问题,请通过提交拉取请求来贡献。我没有时间测试其他数据库,但假设所有数据库都能正常工作。