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");
    }
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值