前言
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 AppProviders;
use IlluminateSupportServiceProvider;
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的支持。