Intereting Posts
Объединить данные FDF в файл PDF с помощью PHP Слияние аудио и изображений для создания видео с использованием php Проблемы с пикселями отслеживания и прокси-сервером Gmail Данные POST для URL-адреса в PHP Что может объяснить браузер с перерывами, не загружая некоторые файлы CORS (crossorigin) javascript? Какова цель дополнительных звездочек в комментариях php? Вставка изображения с PHP и FPDF Backbone + RequireJS: файлы HTML, загруженные RequireJS, интерпретируются как файлы JS как классифицировать или группировать массив по дате PHP Regex отрицательный взгляд за утверждение, preg_replace_callback Акцентированные символы в таблице mySQL Поделиться контроллерами модулей zend для использования в другом модуле Проверьте, существует ли имя пользователя с MySQLi Установить минимальное сообщение об ошибках PHP в Monolog ErrorHandler php xpath с текстом () и SimpleXMLElement-> xpath не соответствует ожидаемым результатам xpath

Symfony2 – данные из элемента сбора формы заканчиваются как массивы вместо объектов

У меня есть два объекта Doctrine, которые имеют отношения «один ко многим», например:

Лицензия

class License { /** * Products this license contains * * @var \Doctrine\Common\Collections\ArrayCollection * @ORM\OneToMany(targetEntity="LicenseProductRelation", mappedBy="license") */ private $productRelations; } 

LicenseProductRelation:

 class LicenseProductRelation { /** * The License referenced by this relation * * @var \ISE\LicenseManagerBundle\Entity\License * @ORM\Id * @ORM\ManyToOne(targetEntity="License", inversedBy="productRelations") * @ORM\JoinColumn(name="license_id", referencedColumnName="id", nullable=false) */ private $license; } 

И у меня есть эта форма для объекта лицензии:

 class LicenseType extends AbstractType { public function buildForm(FormBuilder $builder, array $options) { parent::buildForm($builder, $options); $builder->add('productRelations', 'collection', array('type' => new LicenseProductRelationType(), 'allow_add' => true, 'allow_delete' => true, 'prototype' => true, 'label' => 'Produkte')); } } 

И эта форма для объекта LicenseProductRelation:

 class LicenseProductRelationType extends AbstractType { public function buildForm(FormBuilder $builder, array $options) { parent::buildForm($builder, $options); $builder->add('license', 'hidden'); } } 

Формы и сущности, конечно, содержат другие поля, а не скопированы здесь, чтобы оставить сообщение относительно коротким.

Теперь, когда я передаю форму и привяжу запрос к форме в своем контроллере, я ожидаю, что вызов $license->getProductRelations() вернет массив объектов LicenseProductRelation ( $license – это объект, переданный в форму, таким образом, объект значения запроса записываются, когда я вызываю $form->bindRequest() ). Вместо этого он возвращает массив массивов, внутренние массивы, содержащие имена и значения полей формы.

Является ли это нормальным поведением или я сделал ошибку, которая каким-то образом препятствует компоненту формы понять, что License#productRelations является массивом объектов LicenseProductRelation?