Yii createCommand($ sql) - >带有索引的queryAll()

时间:2014-10-19 23:56:30

标签: php arrays yii

我试图将PerkID作为结果数组索引,但它仍然返回带有标记0,1,2且PerkID位于下一层的数组。

$sql='SELECT PerkID,Amount FROM perks';
$perks=$connection->createCommand($sql)->queryAll(array("index"=>"PerkID"));

结果是

  

array(34){[0] => array(2){[“PerkID”] => string(7)“2285513”[“Amount”] => string(1)“5”} ...

2 个答案:

答案 0 :(得分:0)

这是queryAll方法的行为,但我不明白是什么问题,你可以用foreach迭代数组的所有行,

foreach ($perks as $perk) {
    echo $perk['PerkID'];
}

偏离主题为何不使用Yii的有效记录?

答案 1 :(得分:0)

尝试使用CHtml::listData

所以你可以通过这个得到你的结果

$sql='SELECT PerkID,Amount FROM perks';
$perks=$connection->createCommand($sql)->queryAll();

$result = CHtml::listData($perks,'PerkID','Amount');