我正在学习 symfony 并完成我的第一个测试项目。我有一个包含即将举办的活动列表的页面
(Entity - event (id, city, date, info))
并希望为每个事件添加一个表单,以便将新客户端保存到事件中。我怎样才能做到这一点?我在Event实体中添加了一个客户端实体和多对多关系,下一步应该是什么?怎么看我的表格课?
答案 0 :(得分:1)
根据您的模板,默认情况下,Event和Client之间关系的FormType将为:
EntityType
multiple
选项true
以获得复选框或带多项选择的选择框CollectionType
里面有一个EntityType。这将由客户创建一个单独的字段这些解决方案将检索每个字段的所有客户端,并可能导致性能问题。因此,最佳解决方案是使用自动填充字段创建custom form type。您可以从带有自动完成javascript插件和简单参数(如id和客户端名称)的ChoiceType开始,然后使用data transformer完成,以便检索客户端而不是名称。
如果您即将举办的活动列表很小,您可以为每个活动创建此表单。否则你将不得不这样做:
render controller
功能执行此操作,但如果您有很多事件,这也会导致性能问题。所以最好的解决方案是使用AJAX调用添加这些表单或更改模板:)。