使用Doctrine,我正在做一个像这样的查询:
$query = Doctrine_Query::create()->select('id,name')->from('people');
return $query->fetchArray();
它返回一个类似于以下数组数组的对象:
array(3) {
[0]=>
array(4) {
["id"]=>
string(1) "34"
["name"]=>
string(7) "John"
}
[1]=>
array(4) {
["id"]=>
string(1) "156"
["name"]=>
string(6) "Bob"
}
[2]=>
array(4) {
["id"]=>
string(1) "27"
["name"]=>
string(7) "Alex"
}
}
注意数组的键如何从0,1,2等开始计数?我的问题:是否可以指定键值的来源?例如,我希望上述情况中的键值为34,156,然后是27。
我在Doctrine文档中注意到fetchArray()
都有参数可以提供它们,但它没有说明这些参数是什么......
public array fetchArray(string params)
http://www.doctrine-project.org/api/orm/1.2/doctrine/doctrine_query.html#fetchArray()
此外,我显然可以使用首选键/值组合重新填充新数组,但我正在尝试避免所需的额外处理。
答案 0 :(得分:2)
查看INDEXBY DQL关键字。
尝试类似:
<?php
$query = Doctrine_Query::create()
->select('p.id,p.name')
->from('people p INDEXBY p.id');