泥星科技/simple-historizations

此包允许对模型特定列的简单历史记录。

v1.0.3 2023-03-03 20:59 UTC

This package is auto-updated.

Last update: 2024-09-14 10:50:57 UTC


README

Latest Version on Packagist Software License Total Downloads Tests

免责声明

此包原本是一个练习项目,源于对自有项目的需求。如果您需要更复杂的功能,我建议您使用流行的Laravel Auditing

simple-historizations

当您想记录模型列的更改时,此包适用于您。

工作原理

您有一个名为'MyModel'的模型,并想记录'column_to_historize'列的更改。

因此,您将特性添加到模型中,并指定要记录的列,为每个历史记录模型指定一个合适的名称。

然后,运行命令并迁移您的数据库,Voilà,每当指定的列发生变化时,将创建一个新的历史记录模型实例。

安装 & 设置

  1. 通过composer将包安装到您的项目中,如下所示
composer require mudandstars/simple-historizations
  1. 在您想记录更改的模型中使用特性
class MyModel extends Model
{
    use SimpleHistorizations;

    ...
}
  1. 指定历史记录模型名称和它应该记录的列
class MyModel extends Model
{
    use SimpleHistorizations;

    protected $historize = [
        'HistorizationModelName' => 'column_to_historize',
        'CostHistorization' => 'cost',
    ];

    ...
}
  1. 运行艺术家的命令来创建所需模型和迁移,并迁移您的数据库
sail artisan make-historization-files
sail artisan migrate

现在您已经设置好了。在后续更新模型时,当column_to_historize列发生变化时,将创建指定HistorizationModel的一个实例。