У меня есть книга сущности, которая содержит:
/** * @var \Doctrine\Common\Collections\ArrayCollection * @ORM\OneToMany(targetEntity="Reviewr\ReviewsBundle\Entity\Review", mappedBy="bookID") */ protected $reviews;
В рамках объекта обзора у меня есть поля для представления:
userID bookID posted comment
В моем BookType я пытаюсь создать форму, которая также включает поля из формы ReviewType:
public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('author') ->add('title') ->add('summary') ->add('reviews', ReviewType::class) ->add('submit', SubmitType::class); }
Однако я не могу заставить эту работу работать. im просто пытается иметь форму, которая использует поля из объекта книги и объекта обзора в одном.
Я получаю эту ошибку:
The form's view data is expected to be an instance of class Reviewr\ReviewsBundle\Entity\Review, but is an instance of class Doctrine\Common\Collections\ArrayCollection.
Кто-нибудь знает, что я делаю неправильно?
ОБНОВЛЕНИЕ С текущим ответом он, наконец, отображает что-то .. просто строку «Рецензии», а не поля из формы ReviewType (идентификатор пользователя, bookID, отправленный и комментарий), как показано на рисунке ниже:
Почему он не отображает поля?