最近刚回到Symfony(2.3.10)项目。我使用composer来更新所有包,我注意到form->handleRequest($request)
$recipe = $query->getQuery();
$form = $this->createForm('recipe', $recipe);
$form->handleRequest($request);
此表单已设置为添加/删除集合中的项目,例如tag
示例:
http://symfony.com/doc/current/cookbook/form/form_collections.html
据我所知,这在更新之前按预期工作。 POST数据不包括我删除的项目,所以它是正确的。但是,当$request
传递到表单处理程序时,$form->getData()
仍会列出集合中的所有项目。
之前它已按预期删除了它们。
我已经用Google搜索到了死胡同,目前我循环查看POST数据以确定要从集合中删除的内容,即:
foreach ($originalRecipeTags as $key => $toCheck) {
if (isset($postTags[$toCheck->getRecipeTagId()]) ) {
unset($originalRecipeTags[$key]);
} else {
$recipe->removeRecipeTag($recipeTag);
$em->remove($recipeTag);
}
}
我想知道是否有人遇到过这个问题?这是一个已知的错误吗?任何帮助都会令人惊讶,因为我对目前的解决方案并不满意。