【发布时间】:2013-04-28 22:38:21
【问题描述】:
我有一个带有重量字段的表单,我希望有一个数字输入和一个单位(磅、公斤等)的选择下拉列表,我想将结果写入数据库提交为单个 varchar 数据类型,例如“125 磅”。 CakePHP 表单助手可以做到这一点吗?
【问题讨论】:
标签: php html forms cakephp cakephp-2.1
我有一个带有重量字段的表单,我希望有一个数字输入和一个单位(磅、公斤等)的选择下拉列表,我想将结果写入数据库提交为单个 varchar 数据类型,例如“125 磅”。 CakePHP 表单助手可以做到这一点吗?
【问题讨论】:
标签: php html forms cakephp cakephp-2.1
开箱即用并不是“可能使用 CakePHP 表单助手”,因为 Cake 没有考虑到这种特殊情况并满足它。
但您知道,处理此问题的最简单(也是最好/最智能)的方法是在您的数据库中仅包含两个单独的字段 - 重量和重量单位。否则,当您将其拉入和拉出数据库时,您将不断地将单个 weight_with_units 字段分成两部分。通过两个数据库字段,您可以使用 Cake 的表单助手轻松处理它。
或者,只是保持一致并强制用户始终使用相同的指标;所以你会有一个字段 weight_in_pounds,它只存储数字(例如 245),但你假设它是 245 磅。但是,将权重和指标存储在同一个字段中绝对不是可行的方法。
【讨论】:
我喜欢你让用户选择重量单位 - 磅让我感到困惑,但我知道它仍在美国使用。我只用磅来买黄油和婴儿!
将数据拆分为两个字段将为您提供多种方式的灵活性,而且更加简洁。
但是,您可以在表单上有两个字段(只是组成名称),然后在保存之前将它们加入控制器中 - 或者作为时髦的自定义验证规则加入模型中。
【讨论】: