2013-07-09 61 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) 
)