我正在使用symfony4,在我的项目中,我有和实体比尔,它提供两个包:
(一)
第一个包,用户可以生成
只有一个
在填写表格并将数据保存到数据库中后以PDF格式提交的账单,它有自己的价格。
2个)
第二个包,用户可以生成
三
在填写表格并将数据保存在数据库中之后,PDF格式的账单也有自己的价格。
第一个包很简单,工作也很好,我在控制器中创建了BillType和action,一切都很好。
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个窗体类型
-第一个billtype和一个渲染其视图的细枝。
-第二个billtype和一根树枝来呈现它的视图。
-ThirdBillType和一根树枝也可以呈现它的视图。
在控制器中,我创建了三个表单。
我还没有测试它,但即使它工作我不喜欢它,我觉得这不是一个干净的解决方案。想象一下,如果有一天我想在formType中编辑一个属性,那么我必须在三个formsType和三个html.twig视图中编辑它,如果我想在表单中删除或添加一个属性,也是这样。
我在文档中看到了“如何嵌入表单集合”,但这个示例是如何多次嵌入一个属性。
有什么好办法吗?