【问题标题】:Array Type in SonataAdminBundleSonataAdminBundle 中的数组类型
【发布时间】:2013-07-09 12:47:31
【问题描述】:

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

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

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

->add('testimonials')

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

我连续保存了一个推荐信

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

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

谢谢

【问题讨论】:

  • 如果你的字段类型是一个数组,你想如何在你的数据库中持久化?是一对多的关系吗?
  • 学说始终将数组类型保持为序列化 json

标签: symfony sonata-admin


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2013-07-04
    • 1970-01-01
    • 2014-06-20
    • 2014-11-19
    • 2011-04-20
    • 1970-01-01
    • 2015-11-29
    • 1970-01-01
    • 2016-12-28
    相关资源
    最近更新 更多