rummykhan / moloquent-logger
将Moloquent模型更改记录到日志表中
1.0.1
2017-03-17 15:14 UTC
Requires
- jenssegers/mongodb: ^3.1
- laravel/framework: 5.*
This package is not auto-updated.
Last update: 2024-09-15 02:16:47 UTC
README
一个用于记录MongoDB模型更改的Laravel 5包。
依赖关系
jenssegers/mongodb
安装
使用composer安装
composer require rummykhan/moloquent-logger
添加服务提供者
在config/app.php中添加服务提供者
RummyKhan\MoloquentLogger\MoloquentLoggerServiceProvider::class,,
发布配置
使用命令发布配置
php artisan vendor:publish
配置应用程序的日志行为
在config/moloquent-logger.php中,有一些选项可以用来控制应用程序的日志行为。
添加MoloquentLogger特性
对于您想跟踪更改的任何模型,将该模型的MoloquentLogger特性添加到该模型。
例如:
<?php namespace App; use Jenssegers\Mongodb\Eloquent\Model; use RummyKhan\MoloquentLogger\Logger\MoloquentLogger; class Post extends Model{ use MoloquentLogger; }
记录集合文档结构
{
"_id" : ObjectId("58bf371ddd73170408004836"),
"request" : [],
"before" : {
"name" : "eod nhoj",
"type" : "admin"
},
"after" : {
"name" : "john doe",
"type" : "user"
},
"before_model" : {
"_id" : "58bf3388dd7317040800482e",
"name" : "eod nhoj",
"email" : "john@doe.ae",
"updated_at" : "2017-03-07 22:41:20",
"created_at" : "2017-03-07 22:26:16",
"type" : "admin"
},
"after_model" : {
"_id" : "58bf3388dd7317040800482e",
"name" : "john doe",
"email" : "john@doe.ae",
"updated_at" : "2017-03-07 22:41:20",
"created_at" : "2017-03-07 22:26:16",
"type" : "user"
},
"scope" : {
"file" : "/home/user/laravel/routes/web.php",
"line" : 29,
"function" : "save",
"class" : "Illuminate\\Database\\Eloquent\\Model",
"object" : {},
"type" : "->",
"args" : []
},
"user_id" : null,
"action" : "update",
"moloquent_type" : "App\\User",
"moloquent_id" : "58bf3388dd7317040800482e",
"updated_at" : ISODate("2017-03-07T22:41:33.359Z"),
"created_at" : ISODate("2017-03-07T22:41:33.359Z")
}
文档描述
访问日志
访问记录的日志
$post = Post::find(1); dd($post->logs);
获取之后的状态
使用PHP Date可理解的字符串日期格式,获取特定日期之后的状态。
$post = Post::find(1); dd($post->stateAfter('2017-03-17'));
获取之前的状态
使用PHP Date可理解的字符串日期格式,获取特定日期之前的状态。
$post = Post::find(1); dd($post->stateBefore('2017-03-17'));