2010-03-20 56 views
2

我有一个处理m:n关系的基因处理表单。生成的表单将覆盖doSave()方法来处理“列表”。如何将m:n(多对多)关系嵌入到另一个表单中?

如果我将此表单嵌入到另一个特殊的doSave()方法中,则永远不会调用该方法。结果是除了没有存储m:n关系以外,一切正常。

我必须处理m:n关系manuel吗?

感谢

+1

请张贴您的架构,覆盖方法在窗体对象中,而不是工作窗体。 – Crozin 2010-03-21 12:27:56

回答

1

更好的使用SF 1.4中的窗体类

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

这项工作“因为这”对更新/插入操作,但你的模型关系定义使用必须明确。

为了进一步整合的关系,您可以覆盖sfForm或sfDoctrineForm方法(尤其是doBind,doUpdateObject,saveEmbeddedForms)加选择删除,具体数据绑定等

有关这个主题的一个很好的arcticle可以发现here它是symfony 1.3,但同样的模式适用。

的很好的理由对这种实现的是,你有没有在你的模块的actions.class.php改变,从而避免对形式产生依赖与它(或它们)相关模块。

相关问题