Ответ 1
Вы можете получить доступ к незанятому полю в форме
$unmappedField = $form['unmapped_field']->getData();
Я создаю формы с неотображаемым полем, как описано в документации .
Однако когда в контроллере или подобном я хочу получить к нему доступ, в настоящее время я использую массив запросов POST и выхожу оттуда так:
$postData = $this->getRequest()->request->get('my_form_name');
$unmappedField = $postData['unmapped_field']
Я просто не могу не думать, что это не лучший способ, и я не могу найти что-либо в официальной документации.
Есть ли лучший способ, чем это?
Вы можете получить доступ к незанятому полю в форме
$unmappedField = $form['unmapped_field']->getData();
взято из symfony doc sf 2.5 (также проверено с помощью sf 2.3):
тип формы:
use Symfony\Component\Form\FormBuilderInterface;
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('task')
->add('dueDate', null, array('mapped' => false))
->add('save', 'submit');
}
контроллер:
$form->get('dueDate')->getData();
$form->get('dueDate')->setData(new \DateTime());
http://symfony.com/doc/current/book/forms.html#creating-form-classes (немного прокрутите вниз)