2012-10-22 34 views
0

我使用主義在我的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"} 

我想一個數組,而不是一本字典。

任何幫助?

回答

1

我還沒有與ODM搞砸很多,但我懷疑主義總是使用key備案作爲調用集合toArray當陣列中的關鍵,它可以更容易爲大多數情況下,當你想這樣做這,尤其是因爲在dict/hasharray之間的php沒有區別。

如果你想要一個數字索引數組,可以調用array_values

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