【问题标题】:SonataMediaBundle - Neither property nor methods existSonataMediaBundle - 既不存在属性也不存在方法
【发布时间】:2015-07-10 05:32:39
【问题描述】:

我已经安装了 Sonata Admin、Media、Classification 和其他几个没有任何问题。 我有一个名为任务的实体,我需要能够将一些文件附加到我的任务中。所以我的任务实体如下所示:

class Task {
     //...
     /**
      * @ORM\OneToOne(targetEntity="Application\Sonata\MediaBundle\Entity\Media")
      * @ORM\JoinColumn(name="attachment_id", referencedColumnName="id")
      **/
     protected $attachment;
     //... 
}

在我的 TaskAdmin.php 中有

protected function configureFormFields(FormMapper $formMapper)
{
    $formMapper
        //...
        ->add('attachment', 'sonata_media_type', array(
            'provider' => 'sonata.media.provider.image',
            'context'  => 'default'
        ));
}

这是 MediaBUndle 的 config.yml 设置:

sonata_media:

default_context: default
db_driver: doctrine_orm # or doctrine_mongodb, doctrine_phpcr
contexts:
    default:  # the default context is mandatory
        providers:
            - sonata.media.provider.dailymotion
            - sonata.media.provider.youtube
            - sonata.media.provider.image
            - sonata.media.provider.file
        formats:
            small: { width: 100 , quality: 70}
            big:   { width: 500 , quality: 70}
cdn:
    server:
        path: /uploads/media # http://media.sonata-project.org/
filesystem:
    local:
        directory:  %kernel.root_dir%/../web/uploads/media
        create:     false

现在当我尝试创建一个新任务时(http://myweb.dev/app_dev.php/admin/core/task/create)I 得到以下错误:

Neither the property "attachment" nor one of the methods "getAttachment()", "attachment()", "isAttachment()", "hasAttachment()", "__get()" exist and have public access in class "CoreBundle\Entity\Task".

知道我做错了什么吗? 提前致谢。


类似的问题

SonataUserBundle - Neither property nor methods exist

【问题讨论】:

  • 您的问题到底是什么?目前尚不清楚您的问题是什么。
  • 访问我提到的链接时出现错误...请查看错误消息,如果您能帮助我,请告诉我
  • @cute.S 使用attachment getter 和 setter 发布您的任务实体
  • 你忘记了 $attachment 的 getter 和 setter
  • 感谢 pcm.... 它成功了 :)

标签: symfony sonata-user-bundle sonata-media-bundle


【解决方案1】:

您的任务实体必须有一个带有 getter 和 setter 的附件字段。例如:

protected $attachment;

public function getAttachment()
{
    return $this->attachment;
}

【讨论】:

  • 谢谢你们。是的,你是对的......我忘记了 setter/getter 方法
  • 各位,请您从“类似问题”标题开始阅读,看看您是否也可以帮助我解决这个问题。
猜你喜欢
  • 2012-10-02
  • 1970-01-01
  • 1970-01-01
  • 2014-04-30
  • 1970-01-01
  • 1970-01-01
  • 2017-08-29
  • 2019-05-04
  • 1970-01-01
相关资源
最近更新 更多