我有一个带有权重字段的表单,我希望有一个数字输入和单位的选择下拉列表(lbs,kg等...)我想将结果写入数据库提交为单个varchar数据类型,例如'125磅'。 CakePHP表单助手可以实现吗?
答案 0 :(得分:2)
没有“可能与CakePHP形式助手”开箱即用,因为Cake没有考虑到这种特殊情况并且照顾它。
但是你知道,最简单(也是最好/最聪明)的方法是在你的数据库中只有两个单独的字段 - weight和weight_units。否则,当您将单个weight_with_units字段拖入数据库时,它将不断将其分成两部分。有了两个数据库字段,您可以使用Cake的表单助手轻松处理它。
或者,只是保持一致并强制用户始终使用相同的指标;所以你有一个字段weight_in_pounds,它只存储数字(例如245),但你认为它是245磅。然而,将重量和它的度量存储在同一个领域绝对不是可行的方法。
答案 1 :(得分:0)
我喜欢你让用户选择重量单位 - 磅让我很困惑,但我知道它仍然在美国使用。我只用磅黄油和婴儿!
将数据拆分为两个字段将为您提供多种方式的灵活性,而且更加清晰。
但是,您可以在表单上有两个字段(只是组成名称),然后在保存前将它们连接到控制器中 - 或者在模型中将其作为时髦的自定义验证规则加入。