Продолжение this question:Symfony2 исключение при попытке вставить коллекцию форм
Я пытаюсь встроить коллекцию форм, как описано в официальной документации here. К сожалению, я получаю следующее исключение:
Ожидается, что данные вида формы будут экземпляром класса Acme \ SiteBundle \ Entity \ BlogPost, но являются (n) массивом. Вы можете избежать этой ошибки, установив опцию «data_class» равной нулю или добавив трансформатор вида, который преобразует массив (n) в экземпляр Acme \ SiteBundle \ Entity \ BlogPost.
Что странно, так как я считаю, что я следовал официальные документы на 'т':
BlogPostType:
class BlogPostType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
// static text fields/attrs (title, body, etc)
$builder->add('comments', 'collection', array('type' => new CommentType()));
}
public function getName()
{
return 'blogpost';
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array('data_class' => 'Acme\SiteBundle\Entity\BlogPost'));
}
}
комментарийВведите:
class CommentType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('commentId', 'hidden');
$builder->add('commentBody','text',array('label' => 'Comment:','attr'=>array('size'=>80,'class'=>'form-item-input form-type-texfield')));
}
public function getName()
{
return 'comment';
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array('data_class' => 'Acme\SiteBundle\Entity\Comment'));
}
}
отношений, как это определено в Основная цель страницы:
/**
* @var \Acme\SiteBundle\Entity\Comment.php
*
* @ORM\OneToMany(targetEntity="Comment", mappedBy="blogpost",
cascade={"all"},orphanRemoval=true)
* @ORM\OrderBy({"commentId" = "ASC"})
*/
private $comments;
А Комментарий:
/**
* @var BlogPost
*
* @ORM\ManyToOne(targetEntity="BlogPost", inversedBy="comments")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="blog_id", referencedColumnName="id")
* })
*/
private $blogPost;
Таким образом, я не знаю, где я не так. Есть идеи?