打印出一个 SQL 单查询 (Yii 1.x) [英] Print out a SQL single query (Yii 1.x)

查看:64
本文介绍了打印出一个 SQL 单查询 (Yii 1.x)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用 CDbCriteria 生成的大量查询,如下所示:-

I have a massive query that is generated using CDbCriteria as shown below:-

$schema = Yii::app()->db->schema;
$builder = $schema->commandBuilder;

// how to echo out this query?
$command = $builder->createFindCommand($schema->getTable('myuser'), $criteria);
$results = $command->queryAll();

我知道我可以使用 Yii 的日志"功能来查看查询,是否可以只回显这个单个查询(而不是让 Yii 向我显示页面上正在运行的大量其他查询).

I know I can use the 'logging' feature of Yii to view the query, is it possible to just echo out this single query (as opposed to having Yii show me tons of other queries that are being run on the page).

推荐答案

您可以使用 $command->text 打印由查询构建器构建的查询.在您的示例代码中:

you can print query built by query builder by using $command->text. In your example code will be:

    $schema = Yii::app()->db->schema;
    $builder = $schema->commandBuilder;
    $criteria = new CDbCriteria();
    $command = $builder->createFindCommand($schema->getTable('name_of_table'), $criteria);
    $results = $command->text;
    echo $results;

$command->text 将返回完整的查询文本

$command->text will return your complete query text

这篇关于打印出一个 SQL 单查询 (Yii 1.x)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆