Я хочу получить значение по умолчанию из формы. Например, я вынес избранную форму окна, используя следующий код:Symfony2: Как получить значение по умолчанию из формы в контроллере?
$form = $this->createFormBuilder()
->add('patient', 'choice', array(
'choices' => $patientArray,
'required' => true,
'label' => false
))
->getForm();
The patientArray
значений состоят из patient_id
и patient_name
:
array(
'2' => 'John'
'3' => 'Jane'
);
Итак, я хотел бы получить значение по умолчанию, которое это 2 => John
без отправки и без выбора формы. Каков правильный способ достижения этого в контроллере?
Не уверен, что это сработает, но вы можете использовать '' data '=> current (array_keys ($ patientArray)) 'для установки пустых данных, а затем использовать' $ form-> get ('patient') -> getEmptyData() 'или возможно' $ form-> get ('patient') -> getData() '. Опять же, не уверен, действительно ли это работает. – qooplmao
@Qoop Спасибо за ваш ответ. Это неплохая идея! Я все еще удивляюсь, как я могу получить объект формы в другом методе действий, 'indexAction'? – lvarayut
Вы можете создать свою форму как услугу, а затем просто вызвать ее, как любую другую услугу, с помощью '$ this-> createForm ('my.form')'. - См. Http://symfony.com/doc/current/book/forms.html#defining-your-forms-as-services – qooplmao