この記事では、laravel フレームワークの超実用的な機能を紹介します。必要な方は参考にしていただければ幸いです。
#lumen の dd() dump() を laravel と同じくらいエレガントにする
composer require symfony/var-dumper
実行された SQL ステートメントを取得する #パラメータなどの SQL を表示できます。
public function index() { DB::connection()->enableQueryLog(); // 开启查询日志 DB::table('posts')->paginate(5); //要查看的sql $queries = DB::getQueryLog(); // 获取查询日志 dd($queries); // 即可查看执行的sql,执行的时间,传入的参数等等 }
単純な SQL のみを表示できますが、受信パラメータは表示できません
DB::table('posts')->toSql();
If 、ログ ファイルを storage/logs ディレクトリに保存したいとします。更新する必要があります: app/Providers/AppServiceProvider.php
<?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() { // } }
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");
}
});
以上がLaravelフレームワークの超実践的な関数入門の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。