laravel数据库切换(实现laravel 插入操作日志到数据库的方法)
类别:编程学习 浏览量:1795
时间:2021-10-08 00:02:25 laravel数据库切换
实现laravel 插入操作日志到数据库的方法1 . 创建一个中间件
执行: php artisan make:middleware OperationLog
2 . 在中间件中编写一个writeLog() 或者直接写在handle里面
|
<?php namespace App\Http\Middleware; use App\User; use Closure; use Illuminate\Support\Facades\Auth; class OperationLog { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle( $request , Closure $next ) { $input = $request ->all(); //操作的内容 $path = $request ->path(); //操作的路由 $method = $request ->method(); //操作的方法 $ip = $request ->ip(); //操作的IP $usernum = $request ->usernum; //操作人(要自己获取) self::writeLog( $usernum , $input , $path , $method , $ip ); return $next ( $request ); } public function writeLog( $usernum , $input , $path , $method , $ip ){ $user = User::where( 'usernum' , $usernum )->first(); if ( $user ) { $user_id = $user ->userid; } $log = new \App\Models\OperationLog(); $log ->setAttribute( 'user_id' , $user_id ); $log ->setAttribute( 'path' , $path ); $log ->setAttribute( 'method' , $method ); $log ->setAttribute( 'ip' , $ip ); $log ->setAttribute( 'input' , json_encode( $input , JSON_UNESCAPED_UNICODE)); $log ->save(); } } |
3 .创建一个OperationLog模型(这里我放在Models文件夹下了)
执行 : php artisan make:model Models\OperationLog
|
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class OperationLog extends Model { //定义表 protected $table = "operation_log" ; //定义主键 protected $primaryKey = "id" ; } |
4 . 将中间件注册到Kernel.php 文件
|
/** * The application's global HTTP middleware stack. * * 这些中间件是在对应用程序的每次请求中运行的 * * @var array */ protected $middleware = [ ......., ......., ......., \App\Http\Middleware\OperationLog:: class , ]; |
大功告成…
以上这篇实现laravel 插入操作日志到数据库的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/qq_26282869/article/details/81808558
您可能感兴趣
- laravel自定义命令(laravel-admin select框默认选中的方法)
- laravel自定义使用方法(laravel 获取当前url的别名方法)
- laravel循环插入数据(Laravel 实现关系模型取出需要的字段)
- laravel验证码依赖(laravel5.2表单验证,并显示错误信息的实例)
- laravel授权怎么用(laravel 使用auth编写登录的方法)
- laravel数据库日志(Laravel 将数据表的数据导出,并生成seeds种子文件的方法)
- laravel跨域设置(解决Laravel自定义类引入和命名空间的问题)
- laravel后台登录教程(Laravel 默认邮箱登录改成用户名登录的实现方法)
- laravel 后台任务配置(在Laravel中使用GuzzleHttp调用第三方服务的API接口代码)
- laravel模型获取表名(Laravel 对某一列进行筛选然后求和sum的例子)
- laravel框架的高级知识点(laravel配置Redis多个库的实现方法)
- laravel查询数据库视图(Laravel5.7 数据库操作迁移的实现方法)
- laravel设置跨域请求(Laravel实现ApiToken认证请求)
- laravel数据库数据代码(在Laravel的Model层做数据缓存的实现)
- laravel队列不超时(在laravel中实现事务回滚的方法)
- laravel5.5以下自定义日志(Laravel timestamps 设置为unix时间戳的方法)
- 熊猫中国国宝(熊猫国宝酒53酱香)
- 春节会放假几天(春节会放假吗)
- 小浴室,大民生 缙云3200多户困难群众洗上免费热水澡(小浴室大民生缙云3200多户困难群众洗上免费热水澡)
- 元旦闲谭(元旦闲谭)
- 息烽 这个村 治垃圾 有招 人人争当卫生模范(息烽这个村治垃圾)
- 今天要吃什么(今天要吃什么菜)
热门推荐
- navicat怎么导入sql数据库文件(Navicat导出.sql文件方法)
- 怎么搭建个人云服务器(怎么使用云服务器搭建个人网站?)
- MongoDB优化器profile
- php秒杀实现代码(php无限极分类实现方法分析)
- python微信自动化(python微信撤回监测代码)
- php测试服务器ftp地址(PHP获取远程http或ftp文件的md5值的方法)
- python中list用法(Python数据类型之List列表实例详解)
- python中for循环计算1-100(python 用for循环实现1~n求和的实例)
- 详解Vue3中Teleport的使用(详解Vue3中Teleport的使用)
- 云服务器租用怎么收费(云服务器租用注意事项有哪些?)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9