TP5打印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级日志记录

你可能感兴趣的:(后端工程师之路)