Объединенные Формы И Значения По Умолчанию

Привет. Теперь мне хотелось бы облегчить жизнь всем тем людям, которые пишут свои проекты на основе фреймворка.

Симфония 2 .

В Symfony 2 есть отличные инструменты для создания форм из сущностей, а также, что еще интересно — комбинированные формы .

Итак, если вам необходимо задать значения по умолчанию от сущностей (объектов) к такому (комбинированному) виду, то вы (как и я) будете бродить по Интернету в поисках решения этой проблемы, т.к.

это не кажется быть в документации (по крайней мере, я не смог ее найти).

И так.

Форму я сгенерировал на лету (в контроллере) следующим образом:

  
   

$client = $this->getDoctrine()->getRepository('CarrierUserBundle:Client') ->findOneBy(array('id' => (int) $id)); $form = $this->createFormBuilder()->add('user', new UserType()) ->add('client', new ClientType()) ->getForm();

В данном случае мне не удалось установить значения по умолчанию из объектов Пользователь и Клиент (стоит также отметить, что между этими объектами существует связь «Пользователь один ко многим Клиентам»).

После долгих поисков я наткнулся только на половину решения проблемы, а с остальным разобрался сам.

Итак, вот фактическое решение:

$client = $this->getDoctrine()->getRepository('CarrierUserBundle:Client') ->findOneBy(array('id' => (int) $id)); $form = $this->createForm(new Form\ClientType(), $client) ->add($this->createForm(new Form\UserType()));

Мы видим это вместо этого создатьFormBuilder , я использую напрямую создать форму , в который передаются тип формы и объект (значения по умолчанию фактически берутся из объекта).

После этого к той же форме присоединяется еще один методом добавлять , Но $пользователь ему больше не передается, поскольку при $клиент есть метод getUser() , именно поэтому я упомянул связи между сущностями.

Надеюсь, я спас кому-то время.

Использовать Симфония 2 и расскажите о своих решениях, тогда нам всем будет легче выполнять свою работу =) Читайте также: Sluggable, Timestampable и т. д. в Symfony 2 Теги: #symfony 2 #symfony2 #embedded form #embedded #forms #entity #значения по умолчанию #symfony

Вместе с данным постом часто просматривают: