Symfony2, проверка встроенных и незакрепленных форм с одинаковыми параметрами и разными результатами?

У меня есть такой конструктор форм:

public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('task', 'text', array('label' => 'Task')) ->add('dueDate', 'date', array('label' => 'Date', 'format' => 'ddMMMMyyyy')) ->add('category', 'entity', array('required' => true, 'multiple' => true, 'class' => 'AcmeTaskBundle:Category', 'query_builder' => function($repository) { return $repository->createQueryBuilder('c')->orderBy('c.id', 'ASC'); },)) ->add('save', 'submit', array('label' => 'Send')); } 

и он успешно работает с этим контроллером:

 if($form->isValid()) { $this->get('session')->getFlashBag()->add( 'success', 'Task successfuly added' ); $em = $this->getDoctrine()->getManager(); foreach($form->get('category')->getData() as $cat) { $task->removeCategory($cat); $task->addCategory($cat); } $em->persist($task); try { $em->flush(); } catch (\PDOException $e) { // sth } } 

НО

если я попытаюсь вставить свою форму с такой категорией поля, как это:

 public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('task', 'text', array('label' => 'Task')) ->add('dueDate', 'date', array('label' => 'Date', 'format' => 'ddMMMMyyyy')) ->add('category', new CategoryType()) ->add('save', 'submit', array('label' => 'Send')); } 

где мой тип CategoryType выглядит так:

 public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array( //'data_class' => 'Acme\TaskBundle\Entity\Category', 'csrf_protection' => true, )); } public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('name', 'entity', array( 'class' => 'AcmeTaskBundle:Category', 'query_builder' => function($repository) { return $repository->createQueryBuilder('c')->orderBy('c.id', 'ASC'); }, //'property' => 'name', 'multiple' => true, 'required' => true, )); } 

он возвращает экземпляр Exception категории, ожидаемый, заданный ArrayCollection. Почему «та же» форма работает только в том случае, если она не внедрена?