rummykhan/moloquent-logger

将Moloquent模型更改记录到日志表中

1.0.1 2017-03-17 15:14 UTC

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'));