我有一個簡單的表單,其中包含項目集合。就像這裏所描述的: http://symfony.com/doc/current/cookbook/form/form_collections.html。symfony表單集合中的空元素
問題是,當我添加新元素(或多個元素)而不觸及它們(不改變它們的輸入)時,我得到一個空集合。
我想得到一個添加元素的集合,無論他們的內容如何。即使這些字段是空的,它也可以。
在表單提交後,我的情況,我有:
var_dump($request->get('my_form_name'));
/* dump result:
array (size=19)
...
'partners' =>
array (size=1)
0 =>
array (size=2)
'fullname' => string '' (length=2)
'manager' => string '' (length=0)
...
*/
var_dump($form->getData()->getPartners());
// EMPTY!!! WTF? I expect an array of 1 element of Partner class which fields are set to '' and ''
在另一方面,如果somethig設置,那麼它是確定:
var_dump($request->get('my_form_name'));
/* dump result:
array (size=19)
...
'partners' =>
array (size=1)
0 =>
array (size=2)
'fullname' => string ' NAME HERE ' (length=2)
'manager' => string '' (length=0)
...
*/
var_dump($form->getData()->getPartners());
// ok, we have an array of 1 element which is an object of Partner class
任何想法如何擺脫錯誤的?
/////////修訂///////// 合作伙伴的類映射爲:
Bundle\Entity\Partner:
...
fields:
fullname:
type: string
lenght: 255
nullable: True
manager:
type: string
lenght: 255
nullable: True
manyToOne:
owner:
targetEntity: Step2
inversedBy: partners
joinColumn:
name: owner_id
referencedColumnName: id
場「合作伙伴」被添加到「第二步」實體形式like'collection'with'allow_add','allow_delete','by_reference'= false
您是否將「合作伙伴」類與您的表單關聯?如果是的話,你的'夥伴'實體類的'全名'屬性有哪些註釋? –
我更新了我的問題以提供更多信息 – VladRia
您能否顯示您的表單代碼?看起來你已經設置了'mapped => false'選項。 –