首页 > 技术文章 > Yii 2.0版本调试输出SQL语句

firstlady 2018-11-27 14:30 原文

项目是基于框架Yii 2.0开发的。

今天梳理一些数据统计功能代码的时候,想把当前运行的sql语句打印出来,然后放到navicat工具里面运行,并分析一下运行效率和调优方案,之前大部分时候都是写增加、删除、修改、查询,这个打印sql语句的还真是用的很少,去官网查了一下资料,完美解决。

Yii 2.0提供2种数据操作方式,一种是数据模型【models】,一种是【\yii\db\Query()】,具体使用哪种,看个人喜好。

models模式打印sql语句举例如下:

1 $query = User::find()->where(['id'=>[1,2,3,4])->select(['username'])
2 echo $query->createCommand()->getRawSql();

\yii\db\Query()模式打印sql语句举例如下:

1 $query = (new \yii\db\Query())->select('id')->from('channel')->where('id = 1');
2 echo $query->createCommand()->getRawSql();

 

推荐阅读