2016-12-12 16:43:48 9366次浏览 4条回答 0 悬赏 10 金钱

怎么打印添加的sql语句,我刚才用 $model->find()->createCommand()->getRawSql(); 打印了但是效果只是把整个表的数据查出来了,并不是显示的是添加的sql语句,求大神赐教

补充于 2016-12-12 16:55

开启以后,怎么观看显示的呢,怎么打印呢 我刚才就开启了 但是什么也没有输出

补充于 2016-12-12 16:57

你看是这样的 开启了 但是什么效果也没见
VB.png

补充于 2016-12-12 16:58

VB.png
这个是开启的

  • 回答于 2016-12-12 16:46 举报

    你开启yii debugger,里面有Database,你可以看到请求所执行的sql语句啊,干嘛要自己去打印呢?

  • 回答于 2016-12-13 14:47 举报

    1.png

    2.png
    这样看。

  • 回答于 2016-12-13 19:49 举报

    除了你配置的if (!YII_ENV_TEST) {...},还需要把目录/backend/web/index.php文件中,

    defined('YII_DEBUG') or define('YII_DEBUG', false);
    defined('YII_ENV') or define('YII_ENV', 'prod');
    

    改成

    defined('YII_DEBUG') or define('YII_DEBUG', true);
    defined('YII_ENV') or define('YII_ENV', 'dev');
    
    4 条回复
    回复于 2016-12-14 15:27 回复

    有没有显示的结果能给我看一下吗 我看最终实现的结果是什么样的

    回复于 2016-12-14 16:16 回复

    2楼的图就是拉,最终Database这一项,就可以看到你当前这个请求,执行了什么sql语句

    回复于 2016-12-14 19:30 回复

    那怎么获取当前添加的sql语句呢?有什么函数是可以获取的吗?

    回复于 2016-12-15 13:26 回复

    不太理解,什么叫当前添加的sql?

  • 回答于 2016-12-15 10:37 举报

    $model->find()->getSql();

    $model->find()->createCommand()->getRawSql();
    我感觉createCommand()不是这么用的,可以把它去掉试一下,$model->find()->getSql();这个也试一下

您需要登录后才可以回答。登录 | 立即注册
SongSong
助理

SongSong 北京

注册时间:2016-02-22
最后登录:2017-05-03
在线时长:6小时35分
  • 粉丝3
  • 金钱135
  • 威望0
  • 积分195

热门问题