laravel中插入日志到数据库怎样做,方法是什么
Admin 2022-07-01 群英技术资讯 862 次浏览
这篇文章给大家介绍了“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,
];
大功告成…
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
什么是 DI依赖注入?下面本篇文章就来带大家深入了解一下php中的DI依赖注入,希望对大家有所帮助!
在laravel中,依赖注入是将组件注入到应用程序中的一种行为,属于依赖的显示申明;控制反转是面向对象编程的一种设计原则,用于减低计算机代码之间的耦合度,是一个类把自己的的控制权交给另外一个对象,类间的依赖由这个对象去解决。
php数组转字符串:1、用自带的implode函数。2、用循环遍历数组元素拼接成字符串。3、使用StringUtils的join方法,数组转字符串推荐使用逗号分隔。
可以用来测试需要唯一凭据号码的,是否有重复值,不过一般直接使用uuid了,简单粗暴就解决问题,这个就简单的测试生成的数据是否有重复值吧 <?php/**@Author:wyy*@Date:2019-01-0913:34:16*@Email:2752154874@qq.com*@LastModifiedby:wyy*@LastModifi
PHP单例模式是什么?使用单例模式有什么好处?很多人新手在学习PHP时,对于单例模式不是很理解,下面就给大家介绍一下关于php单例模式,以及我们要如何设计单例模式和建立数据库连接。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008