: 此包允许 Laravel 模型具有自动日志记录功能

dev-master / 1.0.x-dev 2016-02-26 15:54 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:28:09 UTC


README

Loggable 是一个 Laravel 5 包,帮助用户简单记录模型 CRUD 操作的日志。

安装

通过 Composer

$ composer require themightysapien/loggable

将服务提供者添加到 app.php 中的 providers 数组

Themighty\Loggable\LoggableServiceProvider

//THen do vendor:publish from the artisan command to copy the migration file migrate it
php artisan vendor:publish
php artisan migrate

使用方法

//use LoggableModelTrait in any of your models whose CRUD logs you want to keep
class DemoModel extends \Eloquent {
    use Themighty\Loggable\Traits\LoggableModelTrait
}

然后您需要定义一个 getLogData() 函数,如下所示:

public function getLogData()
    {
        return array(
            'routeName' => 'admin.inventories',
            'title' => 'name',
            'modelName' => 'Inventory Item',
            'user' => \Auth::id()
        );
    }

routeName : 如果您不希望日志数据为链接,请留空,或者可以保留资源路由的名称。

title : 这是将在日志中显示数据的数据库表列。

modelname : 日志的可读模型名称。

user : 执行模型操作的用户的 ID。

然后您可以按以下方式显示日志:

//for all logs loop through \Themightysapien\Loggable\Logs::all() or filter it however you like

//for model specific logs you can call $model->logs to get model specific logs

//then inside the loop you can access the user with ->user property

foreach($model->logs as $log){
    echo $log->getModelName().' || '.$log->getLogEntry().' ||'.$log->getAction();
    echo '<br>';
    echo 'By :'.$log->user->name.' at '.$log->created_at;
}

上述代码将生成如下结果:

库存项目 || 牛奶 || 添加

themightysapien 在 2015-12-12 00:00:00 完成

贡献

有关详细信息,请参阅 CONTRIBUTING

安全性

如果您发现任何与安全相关的问题,请通过电子邮件发送至 themightysapien@gmail.com,而不是使用问题跟踪器。

致谢

许可

MIT 许可证 (MIT)。请参阅 许可证文件 获取更多信息。