Я использую компонент Silex и Symfony2 Form. Я пытаюсь получить значения по умолчанию из объекта формы при первой записи на странице, поэтому перед отправкой формы пользователем. Я пытаюсь сделать это так:Symfony2: Получить значения по умолчанию для формы до проверки
$query = $form->getData();
Но оно пусто, пока форма не будет отправлено. С другой стороны, это работает:
$form->get('searchRadius')->getData()
И это показывает значения по умолчанию. Можно ли заставить метод getData() работать без отправки формы? Или есть ли какой-либо другой метод для получения значений по умолчанию из формы, о которой я не знаю?
Заранее спасибо.
EDIT
Мой вопрос не достаточно ясно, так что я постараюсь это исправить.
У меня есть контроллер. В этом контроллере я создаю форму с некоторыми значениями по умолчанию. Теперь я пытаюсь получить эти значения, используя $form->getData()
, но ничего не возвращает. С другой стороны, когда я пытаюсь получить доступ к своим дочерним элементам (т. Е. Полям формы) и запрашивать данные, такие как $form->get('searchRadius')->getData()
, он возвращает значение по умолчанию. Но я хочу, чтобы не спрашивать каждого ребенка отдельно, чтобы получить значение по умолчанию. Я хочу спросить форму, как она была отправлена.
Я хотел бы сделать что-то вроде следующего в контроллере:
$form = $this->createForm();
$defaultValues = $form->getData();
Спасибо за ваше время и советы.
Я в конечном итоге создать форму из субъектов. Таким образом Symfony будет автоматически заполнять данные. Я говорю, что это правильный способ создания форм в Symfony, и моя первая идея с значениями deafault не была хорошей! Спасибо за ваш вклад. – greg