2012-03-13 88 views
0

我正在使用Symfony2應用程序管理我的每月預算。Symfony2以字符串形式顯示整數列

我有一個實體的費用,與在該數據庫

/** 
* @ORM\Table(name="expenses") 
* @ORM\Entity 
*/ 
class Expense 
{ 

/** 
* @ORM\Column(name="amount", type="float", nullable=false) 
*/ 
private $amount; 

保存爲一個漂浮在我的房源量專欄中,我想要顯示的金額爲字符串,像這樣:

public function getAmount() 
{ 
    return '$'.number_format($this->amount, 2); 
} 

但是當我去我的窗體中添加一個新的開支,我得到以下錯誤:

Expected argument of type "numeric", "string" given 

當I C將getAmount函數掛起來只返回$ this-> amount,然後我沒有錯誤。

如何將$ amount的值保存爲db中的浮點數,但在查看該值時將其顯示爲字符串?

更新:

如果我改變映射

@ORM\Column(name="amount", type="string", nullable=false) 

那麼它的工作原理,但後來我的空單給我的數額領域的$ 0,00價值,這」不是個噸什麼我想

回答

0

如果想上市,包括美元符號,那麼你可以專門創建另一次吸氣用於這一目的,例如:

public function getAmountWithCurrency() 
{ 
    return '$'.number_format($this->amount, 2); 
} 

您的表單將使用與該字段關聯的主要getter,即getAmount(),因此如果字段類型爲某種類型的數字(float/integer/decimal)時返回字符串,它將不會工作。

+0

Thanx,如果Symfony沒有給出這個錯誤並且沒有像字段格式一樣嚴格,那麼它是理想的,但是,嘿,我不能質疑一個真棒框架! – Pierre 2012-03-13 18:22:16

相關問題