项目中遇到了许多区间值得情况,比如收入区间,年龄区间。 目前我的做法是收入区间预先划分好,然后存数字,年龄区间因为要经常变动,所有存最大值和最小值。 有没有什么比较好的做法?
主要是想知道楼主要哪里好啊。。。
不知道这样是否符合楼主的要求? model 那块。可以用 ruby 的 Range,比如工资就对应一个 range。然后再定义一些方法,比如说大于,小于,包含(这些估计 ruby 都有)。
数据库。 比如工资。一个上限,一个下线。model 那 def 一个工资的 getter(不知道这个是不是虚属性。。。),返回一个 range。然后是对应的 setter,setter 可以直接设置上限,下线,这样 save 的时候应该就可以直接 save(没怎了解 rails 如何 save。。。)。
查询的话,可以“翻译”成大于小于,然后进行查询。sql 应该都支持。
#9 楼 @jzlikewei 觉得怎么都要有 range 这个结构。。。或者存个 string,然后再封装一层?
感觉网络问题,我点了一下,结果发了 4 个。。。吓得好赶紧删了。。。
#9 楼 @jzlikewei 业务就是这样,没什么俗的。 要么改业务,不要让用户做那么选择,直接给用户选择区间段,比如 年龄段选择: 少年(12~18) 青年(19~35) 中年(36~50) 老年(......)