madhurasri/laravel-activitylog-mongodb

这是流行的spatie/laravel-activitylog包的扩展版本,专为存储MongoDB数据库中的数据而设计。

1.0.1 2022-12-21 08:48 UTC

This package is auto-updated.

Last update: 2024-09-21 13:14:05 UTC


README

Social Card of Laravel Activity Log

使用MongoDB支持在您的Laravel应用程序中记录活动

Latest Version on Packagist GitHub Workflow Status Check & fix styling Total Downloads

这是流行的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 Nagiv4所做的所有工作。

支持spatie

Spatie在创建最佳开源包方面投入了大量资源。您可以通过购买他们的付费产品来支持他们。

许可

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