Я использую symfony4, и в моем проекте у меня есть и сущность Билл, и она предлагает два пакета:
1) Первый пакет, пользователь может сгенерировать только один счет в PDF после заполнения формы и сохранения данных в базе данных, и он имеет свою цену.
2) Второй пакет, пользователь может генерировать Три счета вPDF после заполнения формы и сохранения данных в базе данных, и это тоже имеет свою цену.
Первый пакет прост и работает нормально, я создал BillType и действие в контроллере, и все хорошо.
public function newBillFirstPack(Request $request)
{
$entity = new Bill();
$em = $this->getDoctrine()->getManager();
$form = $this->createForm(BillType::class, $entity);
$form->handleRequest($request);
if ($form->isSubmitted()) {
if ($form->isValid()) {
$em->persist($entity);
$em->flush();
//...............
}
}
return $this->render('frontOffice/bill/new_first_pack.html.twig', array(
'form' => $form->createView()
));
}
Проблема со вторым пакетом, я хотел бы знать, как я могу создать три счета из одной формы.Я попытался создать 3 FormType - FirstBillType и веточку для отображения.- SecondtBillType и веточка для отображения.- ThirdBillType и веточка для визуализации.
И в контроллере я создал три формы.
Я еще не тестировал его, но даже он работает, мне это не нравится,Я упал, это не чистое решение.Представьте себе, если в один прекрасный день я хочу отредактировать атрибут в formType, поэтому я должен отредактировать его в трех представлениях formType и трех html.twig, то же самое, если я хочу удалить или добавить атрибут в формах.
Я видел в документации «Как встроить коллекцию форм», но этот пример - как многократно встраивать один атрибут.
Есть ли хорошее решение?