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