繁体   English   中英

如何将具有m:n(多对多)关系的表单嵌入另一个表单?

[英]How to embed a Form with an m:n (many to many) relation into an other?

我有一个处理am:n关系的生成形式。 生成的表单将覆盖doSave()方法以处理“列表”。

如果我将此窗体嵌入其他窗体,则永远不会调用特殊的doSave()方法。 结果是,除了不存储m:n关系之外,其他所有东西都可以正常工作。

我是否必须处理m:n关系手册?

谢谢

在表单类中使用SF 1.4效果更好

public function configure() {
    $this->embedRelation('relationName'); 
    //other configuration
}

对于更新/插入操作,此操作“按原样”进行,但您的模型关系定义必须清楚。

为了进一步进行关系集成,可以覆盖sfForm或sfDoctrineForm方法(尤其是doBind,doUpdateObject,saveEmbeddedForms)以添加选择性删除,特定数据绑定等。

关于此主题的一个很好的参考可以在这里找到:symfony 1.3,但是使用相同的模式。

此类实现的一个很好的论据是,您无需更改模块的actions.class.php,因此可以避免与其(或它们)关联的模块对表单的依赖性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM