Sql Yii:从动态查询中获取列名

Sql Yii:从动态查询中获取列名,sql,sql-server,yii,dynamic-sql,csqldataprovider,Sql,Sql Server,Yii,Dynamic Sql,Csqldataprovider,是否可以执行查询并仅获取返回结果集的列名。 我需要列名,因为查询是动态的,我不知道列名 再次执行查询时,我将使用这些列名进行排序 你可以参考我的资料,了解我为什么需要它 谢谢。根据正在使用的PDO驱动程序,执行语句后,您可以从中获取列名 这里有一种方法可以在Yii 1.1中实现: $command = Yii::app()->{db} ->createCommand('SELECT "." `Stop!`, current_time `Hammer Time`'); $reade

是否可以执行查询并仅获取返回结果集的列名。 我需要列名,因为查询是动态的,我不知道列名

再次执行查询时,我将使用这些列名进行排序

你可以参考我的资料,了解我为什么需要它


谢谢。

根据正在使用的PDO驱动程序,执行语句后,您可以从中获取列名

这里有一种方法可以在Yii 1.1中实现:

$command = Yii::app()->{db}
  ->createCommand('SELECT "." `Stop!`, current_time `Hammer Time`');
$reader = $command->query();

$sth = $command->getPdoStatement();
for ($i = 0; $i < $sth->columnCount(); $i++) {
  $col = $sth->getColumnMeta($i);
  print $col['name'].' ';
}
$command=Yii::app()->{db}
->createCommand('SELECT'”`Stop!`,当前时间`Hammer time`);
$reader=$command->query();
$sth=$command->getPdoStatement();
对于($i=0;$i<$sth->columnCount();$i++){
$col=$sth->getColumnMeta($i);
打印$col['name'].';
}

告诉我们,为什么不使用GII生成的PHP模型,这些模型将符合Yii且非常舒适?这样。。在执行任何查询之前,您都知道任何列。该查询使用SQL Pivot函数返回列名。。我不知道如何使用模型来处理这个问题。GII是Yii的一个主要特性。MVC模式,这就是为什么您应该使用像Yii这样的框架。签出:并尝试根据给定的数据库模式生成模型。1) 创建数据库,2)启动/配置GII 3)使用数据库模式和GII生成PHP模型。然后可以访问属性(与数据库列相同),如
$model->attributes