madhurasri / laravel-activitylog-mongodb
这是流行的spatie/laravel-activitylog包的扩展版本,专为存储MongoDB数据库中的数据而设计。
1.0.1
2022-12-21 08:48 UTC
Requires
- php: ^8.0
- illuminate/config: ^8.0 || ^9.0
- illuminate/database: ^8.69 || ^9.27
- illuminate/support: ^8.0 || ^9.0
- jenssegers/mongodb: *
- spatie/laravel-package-tools: ^1.6.3
Requires (Dev)
- ext-json: *
- orchestra/testbench: ^6.23 || ^7.0
- pestphp/pest: ^1.20
README
使用MongoDB支持在您的Laravel应用程序中记录活动
这是流行的spatie/laravel-activitylog包的扩展版本,允许您轻松记录Laravel应用程序的活动,例如用户登录、资料更新等。它还可以自动记录模型事件。这个扩展包允许您将所有活动存储在MongoDB集合中。
安装
您可以通过composer安装此包
composer require madhurasri/laravel-activitylog-mongodb
包将自动注册自己。
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Madhurasri\Activitylog\ActivitylogServiceProvider" --tag="activitylog-config"
用法
以下是如何使用它的示例
activity()->log('Look, I logged something');
您可以使用Madhurasri\Activitylog\Models\Activity模型检索所有活动。
Activity::all();
以下是一个更高级的示例
activity() ->performedOn($anEloquentModel) ->causedBy($user) ->withProperties(['customProperty' => 'customValue']) ->log('Look, I logged something'); $lastLoggedActivity = Activity::all()->last(); $lastLoggedActivity->subject; //returns an instance of an eloquent model $lastLoggedActivity->causer; //returns an instance of your user model $lastLoggedActivity->getExtraProperty('customProperty'); //returns 'customValue' $lastLoggedActivity->description; //returns 'Look, I logged something'
以下是一个关于事件记录的示例。
$newsItem->name = 'updated name'; $newsItem->save(); //updating the newsItem will cause the logging of an activity $activity = Activity::all()->last(); $activity->description; //returns 'updated' $activity->subject; //returns the instance of NewsItem that was saved
调用$activity->changes()将返回此数组
[ 'attributes' => [ 'name' => 'updated name', 'text' => 'Lorum', ], 'old' => [ 'name' => 'original name', 'text' => 'Lorum', ], ];
文档
您可以在https://spatie.be/docs/laravel-activitylog/introduction上找到原始包的文档。
如果您在使用包时遇到困难?发现了错误?您是否有关于改进活动日志MongoDB包的一般性问题或建议?请随时在GitHub上创建一个问题,我们将尽快解决。
测试
composer test
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
鸣谢
特别感谢Caneco为logo设计,以及Ahmed Nagi为v4所做的所有工作。
支持spatie
Spatie在创建最佳开源包方面投入了大量资源。您可以通过购买他们的付费产品来支持他们。
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。
