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

问题描述 投票:0回答:1

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

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

您可以参考我的Previous question了解为什么需要它。

谢谢。

sql sql-server yii dynamic-sql csqldataprovider
1个回答
0
投票

根据所使用的PDO驱动程序,一旦执行该语句,就可以从PDOStatement::getColumnMeta获取列名。

这是可以在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'].' ';
}
© www.soinside.com 2019 - 2024. All rights reserved.