mouadziani/laravel-model-trackable

一个Laravel包,允许您使用单个特质跟踪和记录在模型及其关系上应用的内嵌更改

1.0 2020-11-26 18:15 UTC

This package is not auto-updated.

Last update: 2024-09-28 10:33:56 UTC


README

logo


Latest Version on Packagist

一个Laravel包,允许您使用单个特质跟踪和记录在您的(模型及其关系)上应用的内嵌更改

安装

您可以通过composer安装此包

composer require mouadziani/laravel-model-trackable

简单用法

  • 首先,您必须将trackable特质应用到您的模型上
use LaravelModelTrackable\Traits\Trackable;

class ModelName extends Model
{
    use Trackable;

    //
}
  • 如果您想跟踪对模型关系的更改,您需要在模型中添加一个名为$toBeLoggedRelations的属性,它必须包含一个关系数组,如下例所示
use LaravelModelTrackable\Traits\Trackable;

class ModelName extends Model
{
    use Trackable;

    public $toBeLoggedRelations = ['relation1', 'relation2'];
}
  • 然后,您可以得到一个数组,它应该在每次更新后包含对模型应用的所有更改
$model = ModelName::update([
    ...
]);

// Get list of changed attributes
$model->getChangedAttributes();

免责声明

目前此包无法跟踪hasMany、ManyToMany或MorphMany关系

测试

composer test

变更日志

请参阅CHANGELOG以获取更多信息。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件mouad.ziani1997@gmail.com联系,而不是使用问题跟踪器。

鸣谢

许可证

此包是Treeware。如果您在生产中使用它,那么我们要求您为世界买一棵树以感谢我们的工作。通过为Treeware森林做出贡献,您将为当地家庭创造就业机会并恢复野生动物栖息地。

特色仓库