在 Symfony 2.3 中,我使用 SonataAdminBundle。在我的实体中,我有以下字段:
/**
* @var array
* @ORM\Column(name="testimonial", type="array" )
*/
protected $testimonials;
在我的管理类中,当我尝试使用以下内容呈现表单或列表时
->add('testimonials')
表单和列表中不会有任何输入,这会导致数组到字符串异常。
我连续保存了类似的感言
array(
'title' => 'test'
'author' => 'test'
);
那么让它发挥作用的最佳方法是什么?对于我的表单,我只需要一个简单的文本字段,我可以填写我的数组。另外,整个数组应该显示在 show/listing 中。
谢谢
最佳答案
您应该使用Data Transformers 。在这种情况下,您将能够管理如何呈现数组类型以及如何在数据库中保留该类型的表单数据。
最后,您的 SonataAdmin 表单映射器将如下所示:
->add($formMapper->create('testimonials', 'fieldType')
->addViewTransformer($someTransformer)
)
关于symfony - SonataAdminBundle 中的数组类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17548551/