Maison > cadre php > Laravel > Introduction aux fonctions super pratiques du framework Laravel

Introduction aux fonctions super pratiques du framework Laravel

不言
Libérer: 2018-10-15 14:37:09
avant
2742 Les gens l'ont consulté

Cet article vous apporte une introduction aux fonctions super pratiques du framework laravel. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Rendre le dump() dd() de Lumen aussi élégant que Laravel

composer require symfony/var-dumper
Copier après la connexion

Obtenir l'instruction SQL exécutée

Peut afficher les paramètres SQL Where, etc.

    public function index()
    {
        DB::connection()->enableQueryLog(); // 开启查询日志
        
        DB::table('posts')->paginate(5);  //要查看的sql

        $queries = DB::getQueryLog(); // 获取查询日志

        dd($queries); // 即可查看执行的sql,执行的时间,传入的参数等等
    }
Copier après la connexion

Peut uniquement afficher le SQL simple mais ne peut pas voir les paramètres entrants

DB::table('posts')->toSql();
Copier après la connexion

Interroger les enregistrements SQL

Si vous souhaitez enregistrer les fichiers journaux dans le répertoire storage/logs. Doit être mis à jour : La fonction boot() dans 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()
    {
        //
    }
}
Copier après la connexion

Comment Laravel obtient-il la valeur d'un champ avant modification dans l'événement de modèle

Issue::saving(function(Issue $issue){
    if ($issue->isDirty(&#39;title&#39;)) {
        $user = Auth::user()->username;
        $oldTitle = $issue->getOriginal(&#39;title&#39;); // 原始值
        $newTitle = $issue->title;                // 新值
        ActionLog::log("$user 把标题 $oldTitle 修改为 $newTitle");
    }
});
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal