选择一个字段的值,其中另一个字段等于rails中的值

时间:2015-04-09 06:20:55

标签: ruby-on-rails ruby

我有一张表如下

 Table

id  busid  stopid
1    1      1
2    2      1
3    3      1 
4    1      2 
5    2      2
6    4      2

一列有总线ID,另一列有停止ID。例如,如果我想从A站到B站乘坐公共汽车,我自然会尝试找到从A站到B站的所有公共巴士。

我的方法

因此,例如,如果我想找到从停止1到停止2的所有bues。我可以清楚地看到busid 1和busid 2将是正确的答案。

所以基本上我想得到所有的busid,其中stopid = 1和stopid = 2.

我被困在如何在rails中执行此查询。

例如,如果我做Table.where(“stopid =?AND stopid =?”,1,2) 这是无效的。所以我想知道上面描述的查询的正确方法是什么?我看过here,但没有找到任何类似的例子。

1 个答案:

答案 0 :(得分:2)

尝试

  Table.where(stopid: [1,2]).pluck(:busid)

它将生成如下查询:

 SELECT busid FROM tables WHERE (tables.stopid IN (1,2))