themightysapien / loggable
: 此包允许 Laravel 模型具有自动日志记录功能
dev-master / 1.0.x-dev
2016-02-26 15:54 UTC
Requires
- php: >=5.4.0
- illuminate/database: 4.* | 5.*
- illuminate/support: 4.* | 5.*
Requires (Dev)
- phpunit/phpunit: 4.*
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)。请参阅 许可证文件 获取更多信息。