laravelの中のいくつかの簡単で実用的な機能


前言
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();
クエリの記録
ログファイルをstorge/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");
 }
});
締め括りをつける
以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に対して一定の参考となる学習価値を持っています。質問があれば、メッセージを書いて交流してください。ありがとうございます。