当结果应该是一个数组时,为什么我会得到字典



我正在使用PHP应用中的学说来返回以下代码

的结果集
 $dm = $this->get('doctrine.odm.mongodb.document_manager');
        $query = $dm->createQueryBuilder('SomeBundle:Listing')
        ->select('title')
        ->field('userId')->equals(1);
        $listings = $query->getQuery()->execute();
        $listings_array = $listings->toArray(); <--- WHY NOT RETURNING AN ARRAY?????

            $data = array('success'=>true,'listings' => $listings_array, 'displaymessage' => $classifieds->count(). " Listings Found");

脱颖而出的是:

{"success":true,"listings":{"50831582253b4acf09000000":{"id":"50831582253b4acf09000000","title":"fddfds","assets":[],"discussions":[]}},"displaymessage":"1 Listings Found"}

我想要一个数组而不是字典。

有帮助吗?

我还没有与ODM混在一起,但我怀疑在集合上调用toArray时,始终将key用作记录的键何时您想这样做,尤其是因为dict/hasharray之间的PHP没有区别。

如果您想要一个数字索引的数组,请在其上调用array_values

$data = array(
  'success'=>true,
  'listings' => array_values($listings_array), 
  'displaymessage' => $classifieds->count(). " Listings Found"
);

相关内容

  • 没有找到相关文章

最新更新