前言
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");
- }
- });
总结
来源: https://www.jb51.net/article/150086.htm