rmoore/change-recorder

记录对laravel模型所做的更改

1.1.31 2017-08-06 09:29 UTC

This package is auto-updated.

Last update: 2024-08-29 04:09:12 UTC


README

StyleCI Build Status

记录对eloquent模型(如更新/创建/删除)所做的更改,并提供方法以检查模型的历史记录

安装 composer require rmoore/change-recorder

RMoore\ChangeRecorder\ChangeRecorderServiceProvider::class 添加到 config\app.php 中的 providers 数组

运行 artisan migrate 创建数据库表

然后将特质 RMoore\ChangeRecorder\RecordsChanges 添加到您的 eloquent 模型中。

这将自动记录所做的更改

要查看更改,我们有几种选择

1. 我们可以调用 $model->changes,这将返回一个包含每个更改存储的所有数据的 Change 实例集合

2. 我们可以调用 $model->getHistory(),这将返回与选项 1 相同的结果

如果您希望找到特定的更改,可以将字段名称作为参数传递给 getHistory,或者可以使用魔法方法。请注意,这些方法将只返回当时只有一个字段被更改的更改。如果您希望执行更深入的搜索,请继续阅读

1. 我们可以调用 get history 并传递我们想要的字段作为参数,例如 $model->getHistory('name') 将返回用户名称的历史记录

2. 我们可以使用魔法方法,例如使用 get{fieldName}History() 的形式,例如 $model->getNameHistory() 将返回与选项 3 相同的结果

对于深入搜索(即找到在同时更改了其他字段时的更改),您可以使用 searchHistory 方法。

第一种选择是将字段作为参数传递,例如 $model->searchHistory('name')

第二种选择是使用魔法方法,例如 $model->searchNameHistory()

第三种选择是将布尔值作为 getHistory 的第二个参数传递,例如 $model->getHistory('name', true) 将返回与选项 1 和 2 相同的结果