2011-09-20 22 views
1

運行Symfony2的Symfony的錯誤......「一定是VARCHAR,定字符串的一個實例,」

在提交一個表單,這裏是我的錯誤:

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; 
} 

如果我刪除 「\ $ VARCHAR propAddr」 的/ VARCHAR在setPropAddr()函數,它的工作原理。但是這個實體是從命令行創建的,所以這裏必定存在更大的問題。

這裏是我的Application.orm.yml行

prop_addr: 
    type: string(255) 

問題是什麼?

回答

3

public function setPropAddr(\varchar $propAddr)這顯然是錯誤的,好像它採取了數據庫類型並將其添加爲類TypeHint。一般來說,你不應該用Doctrine2自動生成任何東西(會阻止你覆蓋東西並修復錯誤生成的設置器)

相關問題