在UI和数据库中表示时间段

Luk*_*uke 9 javascript sql ruby-on-rails

我最近采用了一个项目,其Employee模型需要将人员的可用时间作为属性.

现有表单使用168个复选框来表示一周中的每个小时,并将信息存储为数据库中的七个24位二进制字符串,每个位在该日的相应小时内充当布尔值true或false.

我真的很想过渡到一些更优雅和易于管理的东西,但我还没有能够提出任何与现有实施的灵活性相匹配的简单解决方案.

将时间段存储为开始和结束时间与每天可能有多个时间输入一样繁琐,并且可能使得在特定时间查询可用性更复杂.

在用户界面和数据库结构中是否有处理此类信息的最佳实践?

Bob*_*bst 1

我会以这种方式对数据库中的数据进行建模。

员工/天/小时关系

一周中每一天的员工和工作时间之间存在多对多关系。

在 UI 方面,您可以使用日期的复选框和多选列表框来设置给定日期的小时数。