使用sonata_media_type时,可以通过设置“data_class”来避免此错误

时间:2013-05-23 04:24:14

标签: symfony sonata-admin

我安装了Sonata Admin并安装了Sonata Media

我有“colors”的类管理员,并在configureFormFields中设置

->add('image', 'sonata_media_type', array('required' => false,
   'context' => 'default',
   'label' => 'Image',
   'provider'=>'sonata.media.provider.image'
 ))

虽然存储在数据库中但编辑时显示此错误

表单的视图数据应该是Application \ Sonata \ MediaBundle \ Entity \ Media类的实例,但是是(n)字符串。您可以通过将“data_class”选项设置为null或添加将(n)字符串转换为Application \ Sonata \ MediaBundle \ Entity \ Media实例的视图转换器来避免此错误。

请帮帮我。

2 个答案:

答案 0 :(得分:1)

尝试将data_class选项设置为正确的实体类,如消息所示......

->add('image', 'sonata_media_type', 
    array(
       'required'    => false,
        'context'    => 'default',
        'data_class' => 'Application\Sonata\MediaBundle\Entity\Media',
        'label'      => 'Image',
            'provider' =>'sonata.media.provider.image'
    )
 )

答案 1 :(得分:1)

您必须设置正确的数据类:

->add('media', 'sonata_media_type', array(
                     'provider' => 'sonata.media.provider.image',
                     'context'  => 'default',
                     'data_class'   =>  'Application\Sonata\MediaBundle\Entity\Media',
                     'required'   =>  false,
                     'label'    =>  'Image'
                ))

请注意:'data_class'=> '应用程序\奏\ MediaBundle \实体\媒体'