2014-02-15 25 views
2

最近剛剛回到Symfony(2.3.10)項目。我用的作曲家更新的包,我已經注意到,在關於一個奇怪的問題,以form->handleRequest($request)Symfony handleRequest()不匹配POST數據

$recipe = $query->getQuery(); 
$form = $this->createForm('recipe', $recipe); 
$form->handleRequest($request); 

這種形式已經安裝到IE瀏覽像tag例如集合添加/刪除項目:

http://symfony.com/doc/current/cookbook/form/form_collections.html

據我所知,這是更新前的預期工作。 POST數據不包括我已刪除的項目,所以它是正確的。但是,$request傳遞到表單處理程序時,$form->getData()仍會列出集合的所有項目。

以前它已按預期刪除它們。

我身邊有一派,打了一個死衚衕,通過POST數據的那一刻我環路制定出如何從集合中刪除,即:

foreach ($originalRecipeTags as $key => $toCheck) { 
    if (isset($postTags[$toCheck->getRecipeTagId()])) { 
     unset($originalRecipeTags[$key]); 
    } else { 
     $recipe->removeRecipeTag($recipeTag); 
     $em->remove($recipeTag); 
    } 
} 

我想知道是否有人已經到來在這個問題上?這是一個已知的錯誤嗎?任何幫助都會令人驚歎,因爲我對目前的解決方案並不滿意。

+0

爲了你升級的是什麼版本的symfony? – DonCallisto

+0

嗨,據我可以告訴我本月升級兩次,在我的供應商/ symfony/symfony我有CHANGELOG-2.2和2.3,作曲家設置爲「symfony/symfony」:「2.3。*」,調試控制檯顯示版本2.3.10。希望這可以幫助。 – Max

回答