简体   繁体   English

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

[英]You can avoid this error by setting the “data_class” when use sonata_media_type

I installed Sonata Admin and after install Sonata Media 我安装了Sonata Admin,然后安装了Sonata Media

i have class admin for "colors" and set in configureFormFields 我有“颜色”类的管理员,并在configureFormFields中设置

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

While stored in the database but when edit show this error 虽然存储在数据库中,但是在编辑时显示此错误

The form's view data is expected to be an instance of class Application\\Sonata\\MediaBundle\\Entity\\Media, but is a(n) string. 表单的视图数据应该是Application \\ Sonata \\ MediaBundle \\ Entity \\ Media类的实例,但是是一个(n)字符串。 You can avoid this error by setting the "data_class" option to null or by adding a view transformer that transforms a(n) string to an instance of Application\\Sonata\\MediaBundle\\Entity\\Media. 您可以通过将“ data_class”选项设置为null或添加一个将a(n)字符串转换为Application \\ Sonata \\ MediaBundle \\ Entity \\ Media实例的视图转换器来避免此错误。

Help me, please. 请帮帮我。

Try setting the data_class option to the correct entity class as the message suggests ... 根据消息提示,尝试将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'
    )
 )

You have to set the correct data class: 您必须设置正确的数据类:

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

Notice the: 'data_class' => 'Application\\Sonata\\MediaBundle\\Entity\\Media', 注意:'data_class'=>'Application \\ Sonata \\ MediaBundle \\ Entity \\ Media',

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM