指定返回 $query->fetchArray()? 的键值?

发布于 2024-11-25 05:50:55 字数 1028 浏览 1 评论 0原文

使用 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()

另外,我显然可以用首选的数组重新填充一个新数组键/值组合,但我试图避免所需的额外处理。

Using Doctrine, I'm doing a query kinda like this:

$query = Doctrine_Query::create()->select('id,name')->from('people');
return $query->fetchArray();

It returns an object similar to the following array of arrays:

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"
  }
}

Notice how the array's keys count up from 0, 1, 2, etc? My question: Is it possible to specify where you want the key values to come from? For example, I would like the key values in the above case to be 34, 156 and then 27.

I noticed in the Doctrine doc's that both fetchArray() has parameters that you can feed them, but it doesn't say anything about what those parameters are...

public array fetchArray(string params)

http://www.doctrine-project.org/api/orm/1.2/doctrine/doctrine_query.html#fetchArray()

Also, I can obviously just repopulate a new array with the prefered key/value combinations, but I'm trying to avoid the extra processing required.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

说谎友 2024-12-02 05:50:55

查看 INDEXBY DQL 关键字。

尝试类似的方法:

<?php
$query = Doctrine_Query::create()
           ->select('p.id,p.name')
           ->from('people p INDEXBY p.id');

Check out the INDEXBY DQL keyword.

Try something like:

<?php
$query = Doctrine_Query::create()
           ->select('p.id,p.name')
           ->from('people p INDEXBY p.id');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文