2013-04-28 123 views
0

我有一个重量字段的表单,我希望有一个数字输入和一个选择下拉单位(磅,千克等),我想写结果到数据库提交作为一个单一的varchar数据类型,例如'125磅'。这可能与CakePHP表单助手?CakePHP嵌套表单助手

回答

2

“CakePHP表单助手”不是“可能的”,因为Cake没有考虑到这种特殊情况并且为此付出了努力。

但是你知道,处理这个问题最简单(也是最好/最聪明)的方法是在数据库中只有两个单独的字段 - 权重和weight_units。否则,当您将数据从数据库中取出时,您会不断将单个weight_with_units字段拆分为两部分。有了两个数据库字段,您可以使用Cake的表单助手轻松处理它。

或者,只要保持一致并强制用户始终使用相同的指标;所以你会有一个字段,weight_in_pounds,它只存储数字(例如245),但你认为它是245磅。虽然在同一个领域中存储重量和度量标准绝对不是要走的路。

+0

谢谢,我实际上试图节省我的分贝的空间,但是这看起来更合乎逻辑。 – dcd0181 2013-04-29 09:20:43

+0

这些天数据库是相当快的。为了节省空间/速度等,它几乎不值得为妥善而合理的设计妥协。 – 2013-04-29 23:13:41

0

我喜欢你让用户选择重量单位 - 磅混淆了我,但我知道它仍然在美国使用。我只用磅来换黄油和婴儿!

将数据拆分成两个字段将为您提供多种方式的灵活性,并且更加清洁。

你可以,但是,必须在窗体上两个字段(正好弥补了名字),然后在保存之前加入他们的控制器 - 或者在模型中作为一个时髦的自定义的验证规则。