1
我正試圖在我的應用程序中處理百分比。用戶輸入一個值爲12(12%)。我必須將它存儲在我的數據庫中,比率爲0.12。ZF1:如何處理存儲在數據庫中的百分比和用戶輸入的數據?
然後我必須將它顯示爲12(對於12%)。
我顯示它的部分非常簡單,我使用了一個自定義的View Helper,它將元素值乘以100。
困難的部分是當用戶輸入值時。我首先想到了一個過濾器,它按每100個值進行分割。它用於將值存儲在數據庫中,但是當我檢索值時,方法「getValue()」應用篩選器,以便得到值0.0012。
第二個想法是,我嘗試重寫setValue()方法,以每100個值除數。但是當我填充表單時,setValue也被調用,這也給我0.0012。
我想知道我該如何處理這個問題?你有什麼主意嗎?
謝謝
Mayby使用您的分隔過濾器不是作爲表單元素過濾器,而是在以獨立方式寫入數據庫之前。所以它只適用於更新數據庫。因此,在閱讀您的數據庫和填充表單後,請考慮使用相反的過濾器。所以用戶在表單字段中看到值12。 – Dmonix
設置應該調用方法的條件。即如果設置了$ insert,那麼如果設置$ update,則調用setValue(),但是$ insert不是 - 不要調用它 –
我同意Dmonix。如果你使用像doctrine這樣的東西作爲數據庫包裝,那麼實現這一點真的很容易。 – liz