Yii 2.0版本调试输出SQL语句
项目是基于框架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();