ThinkPHP 打印 sql 语句的几种方式

获取sql语句

getLastSql

    $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)

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

fetchSql

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

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);
});

sql级日志记录

本作品采用《CC 协议》,转载必须注明作者和本文链接
今年不学习,明天惨唧唧。
zs4336
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!