2010-03-20 54 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改變,從而避免對形式產生依賴與它(或它們)相關模塊。

相關問題