包含文件字段的嵌套表单上的ContextErrorException

时间:2014-03-27 12:44:18

标签: php symfony

我试图做这个简单的任务:

我有一个"公司"包含以下内容的类:

/**
 * @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的简单例子,我不明白为什么我失败了。有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

我认为您的错误在自定义表单类型 DocumentType 中。选项' data_class '必须定义并具有以下值:我的/命名空间/模型/文档。使用wathever修改文档的命名空间实际上是。

如果问题仍然存在,您应该向我们提供 DocumentType 自定义字段的代码。