我需要在我的应用上实现像这样的周可用性/时间表。每个用户都有自己的周可用性:
我需要查询我的数据库,并能够找到特定插槽上可用的用户。 我认为我可以在我的模型上直接实现7x7 = 49个布尔值属性,但我觉得它不是一个非常干净的解决方案!
我面临的其他问题:我希望使用Thinking_sphinx gem来索引和查询此内容(以及其他属性)以及构面导航。 我不知道是否仍然存在这方面的数量限制。
你认为最好使用49个布尔属性或1个单字符串属性包含例如“Mo1 Mo2 Mo3 ..... Th1 Th6 Th7 Fr1 ..... Su7”?
或其他任何解决方案?
答案 0 :(得分:1)
首先要注意的是,字符串属性(与字段相对)不能在过滤器中使用,并且您需要单个字符串值(而不是所有内容都在一个字符串中),所以我不认为你的单字符串属性建议会成功。
另一种方法是搜索 计划中的项目,从该集合中获取用户ID,然后在该用户ID集合中搜索用户而不是。它确实意味着两个查询而不是一个,但它更明显,更复杂一点。