欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

laravel中的一些简单实用功能

程序员文章站 2022-06-29 15:23:02
前言 n年前 laravel 刚面世时,的确让很多人眼前一亮,众人惊呼原来 php 代码还可以写得这么简洁优雅。 本文主要介绍的是关于laravel中的一些简单实用功能...

前言

n年前 laravel 刚面世时,的确让很多人眼前一亮,众人惊呼原来 php 代码还可以写得这么简洁优雅。

本文主要介绍的是关于laravel中的一些简单实用功能,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

让lumen的dd() dump()像laravel一样优雅

composer require symfony/var-dumper 

获取执行的sql语句

可查看sql where参数等

 public function index()
 {
  db::connection()->enablequerylog(); // 开启查询日志
  
  db::table('posts')->paginate(5); //要查看的sql

  $queries = db::getquerylog(); // 获取查询日志

  dd($queries); // 即可查看执行的sql,执行的时间,传入的参数等等
 }

只能查看简单的sql不能看到传入的参数

db::table('posts')->tosql();

查询sql记录

如果,你想要将日志文件保存在 storage/logs 目录中。需要更新: app/providers/appserviceprovider.php 里的 boot() 函数

<?php

namespace app\providers;

use illuminate\support\serviceprovider;
use db;
use log;

class appserviceprovider extends serviceprovider
{
 /**
  * bootstrap any application services.
  *
  * @return void
  */
 public function boot()
 {
  //
  // 新增代码
  db::listen(function ($query) {
   log::info(
    $query->sql,
    $query->bindings,
    $query->time
   );
  });
 }

 /**
  * register any application services.
  *
  * @return void
  */
 public function register()
 {
  //
 }
}

laravel 如何在模型事件中获取某字段修改前的值

issue::saving(function(issue $issue){
 if ($issue->isdirty('title')) {
  $user = auth::user()->username;
  $oldtitle = $issue->getoriginal('title'); // 原始值
  $newtitle = $issue->title;    // 新值
  actionlog::log("$user 把标题 $oldtitle 修改为 $newtitle");
 }
});

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。