• Welcome to Journal web site.

我是 PHP 程序员

- 开发无止境 -

Next
Prev

ThinkPHP 打印 sql 语句的几种方式_larance的博客_thinkphp 打印sql

Data: 2020-02-21 05:06:59Form: JournalClick: 18

ThinkPHP 打印 sql 语句的几种方式

获取 sql 语句

getLastSql

输出上次的sql语句

 $res = Db::table('staff')->field('id,salary')->where('id','>',1)
 ->group('salary')->having('salary > 5000')->select();
$sql = Db::table('staff')->getLastSql();
halt($sql);


select(false)

当select方法的参数为false的时候,表示不进行查询只是返回构建SQL

$res = Db::table('staff')->field('id,salary')->where('id','>',1)
->group('salary')->having('salary > 5000')->select(false);
halt($res);


fetchSql

fetchSql默认是flase就是说跟没写一样的,true就是输出一条查询语句

$res = Db::table('staff')->field('id,salary')->where('id','>',1)
->group('salary')->having('salary > 5000')->fetchSql(true)->select();
halt($res);


buildSql

buildSql构造子查询

$res = Db::table('staff')->field('id,salary')->where('id','>',1)
->group('salary')->having('salary > 5000')->buildSql();
halt($res);


监听 sql

Db::listen(function($sql, $time, $explain){
    // 记录SQL
    echo $sql. ' ['.$time.'s]';
    // 查看性能分析结果
    dump($explain);
});
 
Name:
<提交>