yektadg/laravel-log-activity-mongodb

该软件包最新版本(v1)没有可用的许可信息。

v1 2023-06-07 07:24 UTC

This package is auto-updated.

Last update: 2024-09-30 01:49:06 UTC


README

在您的 Laravel 应用中记录日志活动

Log Panel

初始化配置

默认情况下,如果没有在 '.env' 或 'config/database.php' 文件中设置 MongoDB 配置,活动将保存到 'yektalog' 数据库中的 'log' 集合。要将数据库更改为自定义数据库,请将以下行添加到 Laravel 应用程序中的 '.env' 文件:

MONGODB_CONNECTION=mongodb

MONGODB_HOST=myhost

MONGODB_PORT=27017

MONGODB_DATABASE=yourdatabase

安装

  1. 删除 'composer.lock' 文件和 'vendor' 文件夹
  2. 运行 'composer install' 命令
  3. 运行 'composer require yektadg/laravel-log-activity-mongodb' 命令
  4. 在需要记录活动模型的每个模型中,您应该添加以下选项
  • 添加 YektaLog 特性如下

      class Test extends Model
          {
              use YektaLog;
              
              protected $foreignKeys = [
                      'App\Models\Ticket' => 'ticket_id', 
                      'App\Models\User' => 'user_id',
              ];
              public function getForeignKeys(){
                      return $this->foreignKeys;
              }
              public function getShowRoute(){
                      return "admin.user.show";
              }
              ....
          }
    
  • 在您的模型中添加一个 'protected $foreignKeys' 数组,如下所示

    protected $foreignKeys = [ 'App\Models\Ticket' => 'ticket_id', 'App\Models\User' => 'user_id', ];

    'ticket_id' 和 'user_id' 是本模型中引用的字段,而 'App\Models\Ticket' 和 'App\Models\User' 是它们对应的类。

  • 为您的模型添加一个 'getForeignKeys()' 方法,该方法返回 'foreignKeys' 变量

    public function getForeignKeys(){ return $this->foreignKeys; }

    此方法将允许您检索 'foreignKeys' 数组。

  • 为您的模型添加一个 'getShowRoute()' 方法,该方法返回一个路由名称。此路由将保存到数据库中,您可以在视图中使用此方法创建指向已记录对象的链接

    public function getShowRoute(){ return "test.show"; }

    如果您不需要此路由,则返回一个空字符串,如下所示

    public function getShowRoute(){ return ""; }

  • 使用 'Yektadg\LaravelLogActivityMongodb\Models\Log' 来像下面一样访问 Log 模型

    use Yektadg\LaravelLogActivityMongodb\Models\Log; $logs = Log::where('created_at' ,'!=', null);