laravel中的一些简单实用功能
时间:2020-10-23 13:19:42|栏目:PHP代码|点击: 次
前言
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"); } });
总结