forms - Symfony 4 重新组合选择类型元素(单选按钮)(通过 ViewTransformer)?
问题描述
对于我们当地的学校,我正在建立一个表格来管理家长-教师-会议-会议。我目前的结构是:
- ParentTeacherConference 有 1 天或更多天
- 这样的一天可以有一个或多个类(例如 1A、1B、2A,...)
- 每个班级有几个会议(每个间隔15分钟)
给予 3 个连续的集合 OneToMany...
这种结构在我的 Sonata-Admin Backend 中运行良好,并且所有内容都按应有的方式生成。但是我在父母需要填写的表格中遇到了问题。
至于布局,我需要相同的结构,会议-> 天-> 班级-> 会议时间。
meetingTimes 是一个单选按钮,但它们按 Day 和 Class 分组,我只需要按 Class 分组!有孩子在 1A 班的家长,只需要为该班选择 1 个会议时间,而不是多天...
我制作了 3 个特定的 FormTypes,Conference->Day->Class,每个都使用下一个,最后一个是生成单选按钮的 EntityType。我的最终布局以这种方式是正确的,但我似乎找不到“重新组合”会议单选按钮的方法,因为它们的名称属性看起来像“ptc[PTCDays][0][PTCClassrooms][0] [PTCMeetings]”表示它们按天 AND 教室分组,并且只能按教室分组,这样家长每个班级只能选择 1 个时间段...
我搜索了很多,但无法提出解决方案......我需要完整的结构来生成表单布局(显示所有实体会议的信息会议->日->类->会议)但最后-结果我只需要 ArrayCollection 或其他东西中的选定会议,但是当您从完整实体开始时,Symfony 表单会在您提交表单时重新填充完整实体。
您需要做什么才能生成基于结构化实体的完整表单,但获得简单的表单输出?表格布局目前是正确的,但您必须选择每天每班至少 1 次会议,而不是每班 1 次...
问题:
- 对此有合乎逻辑的解决方案吗?会议应该按天和班级进行可视化分组,但在形式上,它们应该只按班级分组......
我找到了变压器,但不知道它们是否可以用于这个?
- 可以使用 ViewTransformer 来转换单选按钮的名称属性吗?找不到 ViewTransformer 的单个示例,只有 dataTransFormers ...
- (是摆脱 Symfony 表单组件的唯一解决方案吗?我自己生成表单(完整布局)(仅使用树枝,带有我自己的单选按钮名称)并创建一个未链接的 Symfony 表单来捕获和验证选择?意思是 Symfony 表单不能处理这样的情况?)
感谢您的任何帮助!
解决方案
推荐阅读
- blackboard - 烦人的蓝色问号“支持”
- php - 控制器不发送数据代码点火器
- single-sign-on - 通过 iframe 打开 OneLogin 链接
- c# - 同时打开url多次,如c#上的fiddler
- c++ - 编写一个从标准输入读取整数直到文件结尾的 C++ 程序
- relayjs - 如何处理 Relay Modern v6 / 实验中的嵌套路由
- angular - Angular CDK 在下拉列表之一中使用占位符拖放
- symfony - 是否可以通过@groups 重用 API 平台/Symfony 生成的模型定义?
- python-3.x - Python 3.7 自 2019 年 4 月以来的错误 Unix 时间戳
- c# - 如何在winforms网站上的生日下拉框中设置值