主页 > 知识库 > laravel中的一些简单实用功能

laravel中的一些简单实用功能

热门标签:服务器配置 Linux服务器 银行业务 阿里云 Mysql连接数设置 团购网站 电子围栏 科大讯飞语音识别系统

前言

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");
 }
});

总结

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

您可能感兴趣的文章:
  • Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
  • laravel 5 实现模板主题功能
  • Laravel框架实现发送短信验证功能代码
  • Laravel+Layer实现图片上传功能(整理篇)
  • laravel 5 实现模板主题功能(续)
  • 使用 laravel sms 构建短信验证码发送校验功能
  • Laravel5中实现模糊匹配加多条件查询功能的方法
  • Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
  • 利用laravel+ajax实现文件上传功能方法示例
  • laravel框架关于搜索功能的实现

标签:衢州 萍乡 蚌埠 大理 枣庄 广元 衡水 江苏

巨人网络通讯声明:本文标题《laravel中的一些简单实用功能》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266