我在我的PHP应用程序中使用Doctrine来使用以下代码返回结果集
$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"}
我想要一个数组而不是字典。
任何帮助?
答案 0 :(得分:1)
我没有太多地讨论ODM,但我怀疑Doctrine在集合上调用key
时总是使用toArray
作为数组中的键,它使大多数人更容易你想要这样做的情况,特别是因为在dict
/ hash
和array
之间没有区别。
如果您需要数字索引数组,请在其上调用array_values
。
$data = array(
'success'=>true,
'listings' => array_values($listings_array),
'displaymessage' => $classifieds->count(). " Listings Found"
);