【发布时间】: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".
知道我做错了什么吗? 提前致谢。
类似的问题
【问题讨论】:
-
您的问题到底是什么?目前尚不清楚您的问题是什么。
-
访问我提到的链接时出现错误...请查看错误消息,如果您能帮助我,请告诉我
-
@cute.S 使用
attachmentgetter 和 setter 发布您的任务实体 -
你忘记了 $attachment 的 getter 和 setter
-
感谢 pcm.... 它成功了 :)
标签: symfony sonata-user-bundle sonata-media-bundle