Привет. Теперь мне хотелось бы облегчить жизнь всем тем людям, которые пишут свои проекты на основе фреймворка.
Симфония 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
-
5 Причин Компьютерных Сбоев
19 Oct, 24 -
Практика, Практика И Еще Раз Практика.
19 Oct, 24 -
Arduino И Raspberry Объявлены Вне Закона
19 Oct, 24 -
Как Должна Выглядеть Идеальная Веб-Команда?
19 Oct, 24