选择存在所有关联的记录

时间:2018-04-27 20:34:42

标签: ruby-on-rails search activerecord associations where

我有一个具有多级别的用户。我们说我的等级为1,2,3和4。 如何搜索与级别2和3但不是4级相关联的用户? 我还没有得到自己。我想首先关注之前的部分,但是'不过我提出的那条线:

User.includes(:levels).where(levels: {id: [2, 3]}) 

还返回仅与级别2关联的用户,而不仅是具有级别2和3的用户。

2 个答案:

答案 0 :(得分:0)

如果获得的ID的顺序仅为[2,3],则下面将起作用。对于[3,2],它将不显示任何记录。如果对象按顺序排列则应该有效。

[2018-04-28T06:17:00Z, 2018-04-28T06:25:00Z, 2018-04-28T06:13:00Z]
[2018-04-28T07:13:00Z]
[2018-04-28T07:56:00Z, 2018-04-28T07:33:00Z]

答案 1 :(得分:0)

User.includes(:levels).where(levels: {id: 2}).where(levels: {id: 3})