Попытка загрузить класс Media из пространства имен Application\MediaBundle\Entity

Я хочу добавить изображение профиля в свой класс администратора, но я получил эту ошибку:

Попытка загрузить класс «Медиа» из пространства имен «Application\MediaBundle\Entity». Вы забыли оператор «использовать», например. "Sonata\MediaBundle\Model\Media", "Sonata\MediaBundle\Tests\Entity\Media", "Sonata\MediaBundle\Tests\Document\Media" или "Sonata\MediaBundle\Tests\PHPCR\Media"?

Я много искал, но не нашел решения. это мой код

пользовательская сущность

>  /**
>      * @var \Application\Sonata\MediaBundle\Entity\Media
>      * @ORM\ManyToOne(targetEntity="Application\Sonata\MediaBundle\Entity\Media",
> cascade={"persist"}, fetch="LAZY")
>      */
>     protected $media;
> 
>     /**
>      * Set media
>      *
>      * @param \Application\Sonata\MediaBundle\Entity\Media $media
>      * @return User
>      */
>     public function setMedia(\Application\Sonata\MediaBundle\Entity\Media $media = null)
>     {
>         $this->media = $media;
> 
>         return $this;
>     }
> 
>     /**
>      * Get media
>      *
>      * @return \Application\Sonata\MediaBundle\Entity\Media
>      */
>     public function getMedia()
>     {
>         return $this->media;
>     }

администратор пользователя

 /**
     * @param \Sonata\AdminBundle\Form\FormMapper $formMapper
     *
     * @return void
     */
    protected function configureFormFields(FormMapper $formMapper)
    {
        $formMapper
            ->with('General')
            ->add('username')
            ->add('email')
            ->add('enabled')
            ->add('firstname')
            ->add('lastname')
            ->add('plainPassword', 'password', array(
                'required' => (!$this->getSubject() || is_null($this->getSubject()->getId())),
            ))
            ->add('media', 'sonata_media_type', array('provider' => 'sonata.media.provider.image', 'context' => 'engine', 'data_class' => 'Application\Sonata\MediaBundle\Entity\Media', 'required' => false))
            ->end();
    }

config.yml

# app/config/config.yml

sonata_media:
    class:
        media: Application\MediaBundle\Entity\Media
        gallery: Application\MediaBundle\Entity\Gallery
        gallery_has_media: Application\MediaBundle\Entity\GalleryHasMedia
    # if you don't use default namespace configuration
    #class:
    #    media: MyVendor\MediaBundle\Entity\Media
    #    gallery: MyVendor\MediaBundle\Entity\Gallery
    #    gallery_has_media: MyVendor\MediaBundle\Entity\GalleryHasMedia
    db_driver: doctrine_orm # or doctrine_mongodb, doctrine_phpcr it is mandatory to choose one here
    default_context: default # you need to set a context
    contexts:
        default:  # the default context is mandatory
            providers:
                - sonata.media.provider.dailymotion
                - sonata.media.provider.youtube
                - sonata.media.provider.image
                - sonata.media.provider.file
                - sonata.media.provider.vimeo

            formats:
                small: { width: 100 , quality: 70}
                big:   { width: 500 , quality: 70}
        # other contexts here
        engine:
            providers:
                - sonata.media.provider.image

            formats:
                preview:   { width: 100, quality: 100}
                small:     { width: 200, quality: 100}
                large:     { width: 600, quality: 100}
    cdn:
        server:
            path: /uploads/media # http://media.sonata-project.org/

    filesystem:
        local:
            directory:  "%kernel.root_dir%/../web/uploads/media"
            create:     false
    providers:
        image:
            resizer: sonata.media.resizer.square

doctrine:
    orm:
        entity_managers:
            default:
                mappings:
                    FOSUserBundle: ~
                    SonataMediaBundle: ~
    dbal:
        types: #this is about this line and line below
            json:     \Doctrine\DBAL\Types\StringType
doctrine_phpcr:
    odm:
        auto_mapping: true
        mappings:
            SonataMediaBundle:
                prefix: Sonata\MediaBundle\PHPCR

это tutoruial какая-нибудь помощь? извините за английский


person Community    schedule 09.11.2016    source источник


Ответы (1)


проблема в конфигурационном файле config.yml

> sonata_media:
>     class:
>         media: Application\Sonata\MediaBundle\Entity\Media
>         gallery: Application\Sonata\MediaBundle\Entity\Gallery
>         gallery_has_media: Application\Sonata\MediaBundle\Entity\GalleryHasMedia
>         category:   Application\Sonata\ClassificationBundle\Entity\Category
person Community    schedule 09.11.2016