2

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

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

当我尝试渲染表单或列表时,在我的管理类中

->add('testimonials')

表单中将没有输入,并且在列表中它会导致数组到字符串异常。

我连续保存了一个推荐信

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

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

谢谢

4

1 回答 1

2

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

最后,您的 SonataAdmin 表单映射器将如下所示:

->add($formMapper->create('testimonials', 'fieldType')
    ->addViewTransformer($someTransformer)
)
于 2013-07-09T13:10:00.510 回答