2013-03-03 61 views
0

這是我的結構。主義的等於,不返回預期的結果,

{ 
    "title" : "wastelands", 
    "playerLimit" : [ 
    1, 
    2, 
    4 ], 
    "mode" : "coop" 
} 

現在我想選擇playerLimit包含任意值的地方,用mongodb我可以這樣做。

> db.Map.find({playerLimit : 4}) 
{ "title" : "wastelands", "playerLimit" : [ 1, 2, 4 ], "mode" : "coop" } 

我估計將對應於這一教義

$q = $this->get('doctrine_mongodb') 
->getRepository('AcmeGameBundle:Map') 
>createQueryBuilder(); 
$q->field('playerLimit')->equals($playerLimit); 

$ playerLimit爲4,所有在執行時是空我得到。

這是如何完成的? Docs似乎沒有足夠清晰的解釋。

謝謝。

回答

1

事實證明,這

$q->field('playerLimit')->equals($playerLimit); 

INFACT做的工作就像預期,但paramFetcher中的Symfony被取整爲一個字符串。

溶液因此是

$q->field('playerLimit')->equals((int) $playerLimit);