Rails Activerecord WHERE与布尔最接近的匹配

时间:2015-04-13 04:05:02

标签: ruby-on-rails activerecord rails-activerecord

我正在尝试创建一种匹配制作RoR应用程序,其中用户在表格中具有“兴趣”作为布尔值。我试图根据用户共有多少布尔值来匹配用户。是否有一些方法可以使用简单的WHERE查询来执行此操作,而不是遍历整个列表并在控制器中匹配它们?

+-------+--------+------------+----------+---------+
| user  | tennis | basketball | swimming | running |
+-------+--------+------------+----------+---------+
| test1 | true   | true       | false    | false   |
| test2 | true   | true       | false    | false   |
| test3 | false  | true       | false    | false   |
+-------+--------+------------+----------+---------+

所以说“test1”已登录并试图找到具有相似兴趣的人。

“test2”将是一个很好的匹配,我可以找到他使用user.where(“tennis =?AND basketball =?”,true,true)

但是找不到“test3”

我也可以做user.where(“tennis = true”),但不会将“test2”显示为更好的匹配。

感谢任何帮助。

0 个答案:

没有答案