【发布时间】:2018-12-25 10:59:54
【问题描述】:
我会尽量简短。
案例故事:
我有一个实体来处理让我们说“酒店客房”,一个实体来处理“房间的规格”和一个中间实体“房间有规格”。这是在 2xOneToMany 中转换的多对多。
我需要什么:
当我为“酒店房间”构建表单时,构建一个带有“房间规格”完整列表的复选框列表。 显然,如果房间真的有它(中间实体表内的一行),我需要检查任何现有的“房间规格”。最初的情况是取消选中所有“房间规格”列表。
我的选择:
- 删除中间实体,因为它实际上只是一个真/假行,但是我需要让 symfony 明白,如果 MM 关系中不存在任何行,那么另一方面,房间没有那个规范如果该行存在,则房间具有规格。我真正担心的是在不久的将来我的客户需要一些数字,例如房间有多少镜子
- 使用allow_add 选项使所有这些东西成为标准的Symfony 表单集合,使所有行都由用户手动创建。不是有史以来最好的用户体验,但它可能是一个解决方案
- 在控制器内部手动处理列表的创建、编辑、删除,繁琐的工作
代码:
编写表单构建器的正确和最佳方式(如果存在)是什么?
【问题讨论】:
标签: php symfony doctrine-orm symfony-forms