2013-07-09 112 views
2

在Symfony 2.3中,我使用了SonataAdminBundle。在我的實體,我有以下領域:陣列類型SonataAdminBundle

/** 
* @var array 
* @ORM\Column(name="testimonial", type="array") 
*/ 
protected $testimonials; 

在自己的管理類,當我嘗試渲染

->add('testimonials') 

形式或上市將有形式沒有輸入和上市它會導致一個數組到字符串的異常。

在一排我現在的儲蓄一樣

array(
    'title' => 'test' 
    'author' => 'test' 
); 

一個見證那麼,什麼會得到它的工作的最好辦法

?對於我的表單,我只需要一個簡單的文本字段就可以填寫我的數組。整個數組也應該在show/listing中顯示。

謝謝

+0

如果你的字段類型是一個數組,你怎麼想在你的數據庫堅持?是一對多的關係嗎? –

+1

原則總是堅持陣列類型爲序列化json – user2485214

+0

哦,我不知道:) –

回答

2

您應該使用Data Transformers。在這種情況下,您將能夠管理如何呈現數組類型以及如何在數據庫中保存此類型的表單數據。

最後你SonataAdmin形式映射將IKE看看這個:

->add($formMapper->create('testimonials', 'fieldType') 
    ->addViewTransformer($someTransformer) 
)