数组类型在SonataAdminBundle中

时间:2013-07-09 12:47:32

标签: symfony sonata-admin

在Symfony 2.3中,我正在使用SonataAdminBundle。在我的实体中,我有以下字段:

/**
 * @var array
 * @ORM\Column(name="testimonial", type="array" )
 */
protected $testimonials;
当我尝试使用

呈现表单或列表时,在我的Admin类中

->add('testimonials')

表单中没有输入,在列表中会导致数组出现字符串异常。

我正在保存像

这样的推荐书
array(
     'title' => 'test'
     'author' => 'test'
);

那么最好的方法是什么呢?对于我的表单我只需要一个简单的文本字段,我可以填写我的数组。整个数组也应该在show / listing中显示。

谢谢

1 个答案:

答案 0 :(得分:2)

您应该使用Data Transformers。在这种情况下,您将能够管理如何呈现数组类型以及如何在数据库中保留此类型的表单数据。

最后你的SonataAdmin表格映射器会看起来像这样:

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