如何将具有 m:n(多对多)关系的表单嵌入到另一个表单中?
我有一个处理 am:n 关系的生成表单。生成的表单重写 doSave() 方法来处理“列表”。
如果我将此表单嵌入到另一个表单中,则永远不会调用特殊的 doSave() 方法。结果是一切正常,除了 m:n 关系未存储之外。
我必须处理 m:n 关系手册吗?
谢谢
I have a genereated form which handles a m:n relation. The generated form overrides the doSave() method to handle the "list".
If I embed this Form in an other the special doSave() mothod is never called. The result is that everything works fine except that the m:n relation isn't stored.
Do I have to handle the m:n relation manuel?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
更好地使用 sf 1.4 是在您的表单类中使用
This work 'as this' 进行更新/插入操作,但您的模型关系定义必须清晰。
为了进一步的关系集成,您可以重写 sfForm 或 sfDoctrineForm 方法(特别是 doBind、doUpdateObject、saveEmbeddedForms)来添加选择性删除、特定数据绑定等。
可以找到关于此主题的良好文章 这里 这是 symfony 1.3 但相同模式适用。
这种实现的一个很好的论点是,您无需在模块的 actions.class.php 中进行任何更改,从而避免与其(或其)关联模块创建对表单的依赖。
The better using sf 1.4 is using in your form class
This work 'as this' for update/insert operations but your model relationship definition must be clear.
For further relation integration, you can override sfForm or sfDoctrineForm methods (especially doBind, doUpdateObject, saveEmbeddedForms) to add selective deletion, specific data binding, etc.
A good arcticle on this topic can be found here It is symfony 1.3 but the same pattens applies.
The good argument for this kind of implementation is that you have nothing to change in your module's actions.class.php and thus avoid creating dependency on form with its (or their) associated module.