0

我需要在我的应用程序上实施像这样的一周可用性/时间表。每个用户都有自己的一周空闲时间:

周时间表

我需要查询我的数据库并能够找到在特定插槽上可用的用户。我认为我可以直接在我的模型上实现 7x7 = 49 个布尔属性,但我觉得这不是一个非常干净的解决方案!

我面临的其他问题:我希望使用 Thinking_sphinx gem 通过构面导航来索引和查询此内容(以及其他属性)。我不知道它是否仍然是真的。

您认为使用 49 个布尔属性或 1 个包含例如“Mo1 Mo2 Mo3 ..... Th1 Th6 Th7 Fr1 .....Su7”的单个字符串属性更好吗?

或任何其他解决方案?

4

1 回答 1

1

The first thing to note is that string attributes (as opposed to fields) can't be used in filters, and you'd want single string values for facets (not everything together in a single string), so I don't think your single string attribute suggestion will work out.

An alternative is search on the items in the schedule, get the user ids from that set, and then search across users not in that collection of user ids. It does mean two queries instead of one, but it's a little more obvious and a little less complex.

于 2013-09-29T09:37:12.673 回答