• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    实现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 插入操作日志到数据库的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • laravel 获取某个查询的查询SQL语句方法
    • laravel实现查询最后执行的一条sql语句的方法
    • Laravel使用原生sql语句并调用的方法
    • Laravel获取所有的数据库表及结构的方法
    • Laravel监听数据库访问,打印SQL的例子
    上一篇:laravel 获取当前url的别名方法
    下一篇:laravel框架 api自定义全局异常处理方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    实现laravel 插入操作日志到数据库的方法 实现,laravel,插入,操作,日志,