2014-01-15 69 views
1

我是Symfony2的新手,我一直在處理表單提交問題。我不禁感到我失去了一些愚蠢的東西,但是在Google搜索之後,並沒有找到任何解決方案,我想我會在這裏發佈我的問題。Symfony2 - 從相同的形式保存孩子和父母

所以,我有一個窗體來創建一個子實體並編輯一個父實體上的幾個字段。爲了構建我使用FormBuilder的表單,我在其中添加了兩種表單類型(一個用於孩子,一個用於父母)。父類型包括父級的ID字段。

在處理表單提交我打電話的handleRequest其失敗的行動,因爲:

無論屬性「ID」,也不是方法之一「SETID()」,「_ 集() 「或」 _call()「存在並且在」Ahms \ MyBundle \ Entity \ Parent「類中具有公共訪問權限。

發生這種情況時,父ID字段是窗體的一部分,當它不是表單的一部分,它運行順利。

我錯過了什麼?

謝謝!

回答

1

如果從子控制器創建表單,則必須在子類中聲明id,並且必須寫入public function setId($id)public function getId()方法。

+0

感謝您的回覆。我可以在父實體中創建setId方法。但這似乎是錯誤的,因爲我不應該改變實體ID。而且,如果這有助於更好地理解我的問題,我使用子實體創建表單。 – JoaoPSantos

+0

如果你創建了表單子控制器並且id不在子實體中,你必須添加它。你可以添加它作爲另一個名字。你可以請你上傳你的孩子實體和控制器..我可以改變它 – Tushar

相關問題