我在Symfony2中嵌入窗體時遇到問題。我可能會做一些技術上的錯誤,但也許我犯的錯誤是在數據庫設置的層面上,並且首先嵌入表單並不是必要的。在提交代碼之前,我們先關注一下。在Symfony2中使用嵌入式窗體
我做了兩個實體:V和O.它們都代表位置,但指的是不同類型的位置。通過ref-id,它們每個引用一個實體地址。多個V可以指代相同的地址,多個O可以指代相同的地址,並且甚至可以在同一地址上具有V和O.顯示V,O和地址的作用(控制器和路由工作)。創建或編輯地址也可以正常工作;我創建了一個名爲AddressType的表單類型,並且此呈現並正常工作。
V和O也有formTypes:VType和OType。他們有他們的樹枝模板,路線,控制器動作等。
現在我希望用戶能夠在窗體中輸入新的V,其中也有可用於輸入新地址的字段。所以我不希望用戶從某種列表中選擇一個已經存在的地址(但是我得到了這個工作),但我希望他們能夠添加一個新地址。如果地址已經存在於數據庫表「地址」中(這很可能),Symfony2應該引用該地址,而不是再次創建相同的地址。
現在我的問題是,我沒有成功地呈現嵌入在V或O形式中的地址表單(AddressType)。基本上我想將AddressType表單渲染爲V或O表單的一部分。這可能嗎?
但是,它很可能是我的db-setup不好,我不應該使Address成爲一個單獨的實體(和db表),但我應該將它作爲實體V和O的一部分。我也會解決這個問題,但這是否是一個好習慣?
我很感謝你的幫助。
讓我們從基礎開始。請更新您的問題,併發布Address,V和O之間的關係(yml或註釋)。這將明確說明您正在使用哪種關係。 – Cerad 2012-04-12 13:40:44