【问题标题】:CakePHP nesting form helpersCakePHP 嵌套表单助手
【发布时间】:2013-04-28 22:38:21
【问题描述】:

我有一个带有重量字段的表单,我希望有一个数字输入和一个单位(磅、公斤等)的选择下拉列表,我想将结果写入数据库提交为单个 varchar 数据类型,例如“125 磅”。 CakePHP 表单助手可以做到这一点吗?

【问题讨论】:

    标签: php html forms cakephp cakephp-2.1


    【解决方案1】:

    开箱即用并不是“可能使用 CakePHP 表单助手”,因为 Cake 没有考虑到这种特殊情况并满足它。

    但您知道,处理此问题的最简单(也是最好/最智能)的方法是在您的数据库中仅包含两个单独的字段 - 重量和重量单位。否则,当您将其拉入和拉出数据库时,您将不断地将单个 weight_with_units 字段分成两部分。通过两个数据库字段,您可以使用 Cake 的表单助手轻松处理它。

    或者,只是保持一致并强制用户始终使用相同的指标;所以你会有一个字段 weight_in_pounds,它只存储数字(例如 245),但你假设它是 245 磅。但是,将权重和指标存储在同一个字段中绝对不是可行的方法。

    【讨论】:

    • 谢谢,我实际上是想节省数据库中的空间,但这似乎更合乎逻辑。
    • 如今的数据库非常快。为了节省空间/速度等而牺牲良好、明智的设计几乎是不值得的。
    【解决方案2】:

    我喜欢你让用户选择重量单位 - 磅让我感到困惑,但我知道它仍在美国使用。我只用磅来买黄油和婴儿!

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

    但是,您可以在表单上有两个字段(只是组成名称),然后在保存之前将它们加入控制器中 - 或者作为时髦的自定义验证规则加入模型中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多