Maison > cadre php > Laravel > le corps du texte

Apprenez à générer facilement des instructions SQL complètes dans Laravel

藏色散人
Libérer: 2020-07-17 13:18:08
avant
4022 Les gens l'ont consulté

下面由Laravel教程栏目给大家介绍Laravel中轻松容易的输出完整的SQL语句的方法,希望对需要的朋友有所帮助!


laravel 中自带的查询构建方法 toSql 得到的 sql 语句并未绑定条件参数,类似于这样 select * fromuserswhereid= ?,所以写了个扩展包 laravel-dump-sql ,可以获取完整的 sql 语句。

源码

安装

$ composer require guanguans/laravel-dump-sql -v
Copier après la connexion

发布服务

$ php artisan vendor:publish --provider="Guanguans\\LaravelDumpSql\\ServiceProvider"
Copier après la connexion

使用

安装成功后查询构建器会新增 toRawSqldumpSqlddSql 三个方法

// 获取 SQL
User::where('id', 1)->toRawSql();
DB::table('user')->where('id', 1)->toRawSql();

// 打印 SQL
User::where('id', 1)->dumpSql();
DB::table('user')->where('id', 1)->dumpSql();

// 打印 SQL 并退出
User::where('id', 1)->ddSql();
DB::table('user')->where('id', 1)->ddSql();
Copier après la connexion

自定义方法名称

发布配置文件

$ php artisan vendor:publish --tag=laravel-dump-sql
Copier après la connexion

config/dumpsql.php 文件中配置方法名称既可

<?php
return [
    /*
     * Get sql statement.
     */
    &#39;to_raw_sql&#39; => &#39;Your favorite method name&#39;,

    /*
     * Print SQL statements.
     */
    &#39;dump_sql&#39; => &#39;Your favorite method name&#39;,

    /*
     * Print SQL statements and exit.
     */
    &#39;dd_sql&#39; => &#39;Your favorite method name&#39;,
];
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:learnku.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