Подтвердить что ты не робот

Как добавить дополнительные поля не-сущности в форму сущности в Symfony2

Я создал форму с одним элементом из Entity:

$promo = new Promo();

$form = $this->createFormBuilder($promo)
        ->add('code', 'text')
        ->getForm();

И я хочу добавить элемент файла (это поле не существует в Entity). Когда я это сделаю:

$form = $this->createFormBuilder($promo)
        ->add('code', 'text')
        ->add('image', 'file')
        ->getForm();

У меня есть ошибка: ни свойство "образ", ни метод "getImage()". Как добавить это поле?

4b9b3361

Ответ 1

Используйте сопоставленный:

$form = $this->createFormBuilder($promo)
    ->add('code', 'text')
    ->add('image', 'file', array(
                "mapped" => false,
            ))
    ->getForm();

В старых версиях Symfony (2.0 и более ранних) используйте property_path:

$form = $this->createFormBuilder($promo)
    ->add('code', 'text')
    ->add('image', 'file', array(
                "property_path" => false,
            ))
    ->getForm();

"property_path" был удален в Symfony 2.3

Ответ 2

Используйте параметр property_path:

$builder->add('image', 'file', [
    'property_path' => false,
]);