打印出一个SQL单一查询(Yii 1.x)

Zab*_*abs 4 php mysql yii yii-components

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

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

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

我知道我可以使用Yii的“记录”功能来查看查询,是否可以仅回显单个查询(而不是让Yii向我展示正在页面上运行的大量其他查询)。

Che*_*eta 5

您可以使用来打印查询构建器构建的查询$command->text。在您的示例代码将是:

    $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;
Run Code Online (Sandbox Code Playgroud)

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