我有这个疯狂的项目在工作中发生,我们碰巧使用Symfony 1.4,所以我希望,理想情况下,尽可能地保持这个项目在框架的功能。不幸的是,尽管进行了大量的研究和搜索,我还没有找到一种方法来根据对数据库的查询生成sfWidgetForm元素。
我将通过解释项目的流程概述这是什么目的。
我最感兴趣的是在Symfony中动态构建表单的数据。我可以轻松地使用组件构建,但我真的不想。特别是因为我计划很快退出,并且在框架内保留一些内容对我的队友来说是理想的。
感谢您的任何想法!这是一个非常令人兴奋的项目,尽管从外面无聊 - 我以前从未动态生成表单,更不用说在Symfony中了。应该很酷。
答案 0 :(得分:0)
您当然可以根据查询构建选择列表/单选按钮/复选框 - 我不确定这是否正是您想要做的?
请参阅http://www.symfony-project.org/api/1_4/sfWidgetFormDoctrineChoice和query
参数 - 我经常使用它并且工作正常。
动态构建整个表单将很困难IMO - 我认为您需要至少定义一些规则,以便您可以显示/隐藏某些表单元素。
答案 1 :(得分:0)
可以在此处找到我如何解决此问题的功能示例:http://pastebin.com/NrJeADAk
效果很好。如果您的数据库正确且一致地描述了表单,您甚至可以通过表单提交描述来创建新表单。我已经为我的团队在工作中做了这个,并且在字段上进行了非常繁重的验证,到目前为止他们还没有设法创建导致问题的单个表单。我经常是SO用户,所以如果你偶然发现并希望了解更多信息,请随时给我留言。