前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >laravel中的一些简单实用功能

laravel中的一些简单实用功能

作者头像
砸漏
发布2020-10-21 16:16:18
1.3K0
发布2020-10-21 16:16:18
举报
文章被收录于专栏:恩蓝脚本

前言

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

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

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

代码语言:javascript
复制
composer require symfony/var-dumper 

获取执行的sql语句

可查看sql where参数等

代码语言:javascript
复制
 public function index()
 {
  DB::connection()- enableQueryLog(); // 开启查询日志
  
  DB::table('posts')- paginate(5); //要查看的sql

  $queries = DB::getQueryLog(); // 获取查询日志

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

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

代码语言:javascript
复制
DB::table('posts')- toSql();

查询sql记录

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

代码语言:javascript
复制
<?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 如何在模型事件中获取某字段修改前的值

代码语言:javascript
复制
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");
 }
});

总结

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档