yektadg / laravel-log-activity-mongodb
Requires (Dev)
- orchestra/testbench: ^7.0
README
在您的 Laravel 应用中记录日志活动
初始化配置
默认情况下,如果没有在 '.env' 或 'config/database.php' 文件中设置 MongoDB 配置,活动将保存到 'yektalog' 数据库中的 'log' 集合。要将数据库更改为自定义数据库,请将以下行添加到 Laravel 应用程序中的 '.env' 文件:
MONGODB_CONNECTION=mongodb
MONGODB_HOST=myhost
MONGODB_PORT=27017
MONGODB_DATABASE=yourdatabase
安装
- 删除 'composer.lock' 文件和 'vendor' 文件夹
- 运行 'composer install' 命令
- 运行 'composer require yektadg/laravel-log-activity-mongodb' 命令
- 在需要记录活动模型的每个模型中,您应该添加以下选项
-
添加 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);