![](/img/trans.png)
[英]Symfony2 OneToMany Relation - get object via hidden form field?
[英]Symfony2 form - How to have hidden field reference parent object
我是Symfony表單的新手,我正在試圖找出一個帶有引用父對象的隱藏字段的表單。 例如,我有一個與聯系人有多對一關系的列表。 創建新聯系人時,需要一個隱藏字段,其中包含要添加聯系人的列表的ID。
目前我正在嘗試在我的ContactType
表單中嵌入一個名為ListIdType
表單。 ListIdType
表單中唯一的字段是列表的id。 這很好用,因為我可以在空的聯系人實體上設置列表,它會自動填充名為contact[list][id]
(在ListIdType
表單中定義)的表單中的ListIdType
。 這個問題是,當我提交表單時,我得到一個錯誤,說列表類中不存在元素“id”或methed“setId()”。
我的感覺是我做錯了什么,但我找不到任何文件指出我正確的方向。
我想出的解決方案是添加一個隱藏字段,並將property_path
選項設置為FALSE
。 這是ContactType::buildForm
的代碼:
$builder->add('list_id', 'hidden', array(
'data' => $data->getList()->getId(),
'property_path' => FALSE,
));
然后我在我的控制器中處理該字段。
這有效,但不是我最好的解決方案。 如果有人可以提出更好的方法,我仍然是開放的!
最近我發現了Gregwar的論壇包,它增加了entity_id表單類型。 它可以自動完成大部分所需的轉換,可能正是您所需要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.