我有一个存储start_time,end_time和day的练习模型。
该信息(与网站的其他部分一样)需要以3种不同的方式显示 语言。
Start_time和end_time都作为日期时间类型存储在数据库中。
日期尚未实施,但会显示为选择框。我看到人们建议一组常量并将其作为整数存储在DB中。虽然这似乎是合理的,但我很难想象使用不同语言(使用I18n或Globalize2)可以很好地工作。
实现这一目标的最简洁方法是什么,以便在不同语言中运行良好?
答案 0 :(得分:1)
我看不出将数周的日期存储在数据库中的充分理由;如果这些名称会改变,我会感到惊讶,我们正在谈论7 * 3字符串,这是为您的应用程序处理的少量数据。
i18n是要走的路。您可以浏览this repository来查找已经用不同语言进行过翻译的day_names
。
答案 1 :(得分:0)
如果你不能从开始和结束DateTime对象存储或计算星期几,那么我建议使用ENUM in the database - 这会导致数据存储为整数 - 占用更少的空间并且更容易索引,并且为您自动完成到字符串类型的转换,以便您可以查询和插入字符串,但实际的数据库值是整数。
绝对不要将这些值存储为字符串,但是处理它们会更难处理它们会占用更多空间。