我试图做这个简单的任务:
我有一个"公司"包含以下内容的类:
/**
* @var Document
*/
private $logo;
/**
* Set logo
*
* @param Document $logo
* @return Company
*/
public function setLogo(Document $logo = null)
{
$this->logo = $logo;
return $this;
}
/**
* Get logo
*
* @return Document
*/
public function getLogo()
{
return $this->logo;
}
logo属性是文档实体。
这是我的CompanyType():
$builder->add('name', 'text', array(
'required' => false
));
$builder->add('logo', new DocumentType(), array(
'required' => false
));
我只是想保存一家新公司,但我收到了这个错误:
ContextErrorException: Catchable Fatal Error: Argument 1 passed to
Proxies\__CG__\Teacup\UserBundle\Entity\Company::setLogo() must be an instance of
Teacup\FileBundle\Entity\Document, array given, called in
/Users/jansel/Sites/spm/vendor/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php
on line 360 and defined in
/Users/jansel/Sites/spm/app/cache/dev/doctrine/orm/Proxies/__CG__TeacupUserBundleEntityCompany.php line 293
我真的只是关注sf2 cookbook和openclassroom的简单例子,我不明白为什么我失败了。有人能帮助我吗?
答案 0 :(得分:1)
我认为您的错误在自定义表单类型 DocumentType 中。选项' data_class '必须定义并具有以下值:我的/命名空间/模型/文档。使用wathever修改文档的命名空间实际上是。
如果问题仍然存在,您应该向我们提供 DocumentType 自定义字段的代码。