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

kpbwa7wx  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(148)

有没有可能执行一个查询,只得到返回结果集的列名。我需要列名,因为查询是动态的,我不知道列名。
我将在再次执行查询时使用这些列名进行排序。
你可以参考我的前一个问题,以了解我为什么需要它。

  • 谢谢-谢谢
jdg4fx2g

jdg4fx2g1#

根据所使用的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'].' ';
}

相关问题