good-system / laravel-model-history
该包最新版本(0.0.2)没有可用的许可证信息。
0.0.2
2019-03-18 02:16 UTC
This package is auto-updated.
Last update: 2024-09-18 18:24:28 UTC
README
安装
composer require good-system/laravel-model-history
composer migrate
使用
使用通用 ModelObserver
如果模型观察者只需要对“创建”和“更新”进行日志记录/记录,只需将以下内容添加到您的服务提供者类中
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
Donation::observe(\GoodSystem\ModelHistory\ModelObserver::class);
}
}
则会在数据库表 model_history
中记录两个模型操作
- 新建捐款创建
- 捐款更新
使用 Trait ModelChangeEventTraits
如果您的模型观察者需要观察额外的模型事件,但对于“创建”和“更新”事件,模型历史记录/记录是唯一需要的功能,可以将 trait ModelChangeEventTraits
添加到观察者类中,如下所示
class YOUR_MODEL_Observer
{
use \GoodSystem\ModelHistory\ModelChangeEventTraits;
// other model events such as deleted, saved, etc.
}
直接使用 ModelFieldHistory
模型静态方法
模型类 ModelFieldHistory
提供了两个额外的方法
forModelCreated()
- 记录新创建的模型forFieldChanges()
- 记录模型中做出的更改
如果您的模型观察者的“创建”或“更新”事件需要执行历史记录/记录,以及其他操作,可以直接从观察者调用这两个方法,如下所示
class YOUR_MODEL_Observer
{
public function updated(YOUR_MODEL $modelObject)
{
ModelHistory::forFieldChanges(auth()->user(), $modelObject)->save();
// Other things that need to be done upon model record update
}
public function created(YOUR_MODEL $modelObject)
{
ModelHistory::forModelCreated(auth()->user(), $modelObject)->save();
// Other things that need to be done upon model record creation
}
}
其他用法
目前没有其他用法。请注意,数据库表不仅限于容纳这两个更改。