运行Symfony2
提交表格后,我得到错误:
Catchable Fatal Error: Argument 1 passed to Depot\StarterBundle\Entity\Application::setPropAddr() must be an instance of varchar, string given, called in C:\wamp\www\Symfony\vendor\symfony\src\Symfony\Component\Form\Util\PropertyPath.php on line 346 and defined in C:\wamp\www\Symfony\src\Depot\StarterBundle\Entity\Application.php line 211
以下是有问题的街区:
/**
* Set prop_addr
*
* @param varchar $propAddr
*/
public function setPropAddr(\varchar $propAddr)
{
$this->prop_addr = $propAddr;
}
/**
* Get prop_addr
*
* @return varchar
*/
public function getPropAddr()
{
return $this->prop_addr;
}
如果我在setPropAddr()函数中从“\ varchar $ propAddr”中删除/ varchar,它就可以工作。但是这个实体是从命令行创建的,所以这里必须有一个更大的问题。
这是我的Application.orm.yml
中的一行 prop_addr:
type: string(255)
问题是什么?
答案 0 :(得分:3)
public function setPropAddr(\varchar $propAddr)
这显然是错误的,似乎它采用了DB类型并将其添加为Class TypeHint。通常你不应该用Doctrine2自动生成任何东西(会阻止你覆盖东西并修复错误生成的setter)