泥星科技 / simple-historizations
此包允许对模型特定列的简单历史记录。
v1.0.3
2023-03-03 20:59 UTC
Requires
- php: ^8.2
- spatie/laravel-package-tools: ^1.14
Requires (Dev)
- laravel/pint: ^1.4
- nunomaduro/larastan: ^2.4
- orchestra/testbench: ^8.0
- pestphp/pest: ^1.22
- pestphp/pest-plugin-laravel: ^1.4
- phpstan/extension-installer: ^1.2
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
This package is auto-updated.
Last update: 2024-09-14 10:50:57 UTC
README
免责声明
此包原本是一个练习项目,源于对自有项目的需求。如果您需要更复杂的功能,我建议您使用流行的Laravel Auditing。
simple-historizations
当您想记录模型列的更改时,此包适用于您。
工作原理
您有一个名为'MyModel'的模型,并想记录'column_to_historize'列的更改。
因此,您将特性添加到模型中,并指定要记录的列,为每个历史记录模型指定一个合适的名称。
然后,运行命令并迁移您的数据库,Voilà,每当指定的列发生变化时,将创建一个新的历史记录模型实例。
安装 & 设置
- 通过composer将包安装到您的项目中,如下所示
composer require mudandstars/simple-historizations
- 在您想记录更改的模型中使用特性
class MyModel extends Model { use SimpleHistorizations; ... }
- 指定历史记录模型名称和它应该记录的列
class MyModel extends Model { use SimpleHistorizations; protected $historize = [ 'HistorizationModelName' => 'column_to_historize', 'CostHistorization' => 'cost', ]; ... }
- 运行艺术家的命令来创建所需模型和迁移,并迁移您的数据库
sail artisan make-historization-files
sail artisan migrate
现在您已经设置好了。在后续更新模型时,当column_to_historize列发生变化时,将创建指定HistorizationModel的一个实例。