ActiveRecord基于列

时间:2018-04-17 23:29:13

标签: ruby-on-rails activerecord

如何根据特定列过滤前n个记录?例如,name中的列Recommendation

如果记录1和2的名称都是Dave,则会返回记录1和3而不记录2.

Recommendation.where(id: [1,2,3,4]).limit(2)`

我尝试使用distinct,但似乎你还需要使用pluck,我宁愿不这样做,因为我喜欢这个对象。

1 个答案:

答案 0 :(得分:0)

您可以链接一个额外的位置,它会向AND询问name属性,并使用http://dojotoolkit.org/reference-guide/1.10/dojox/mvc/at.html#data-converter询问name属性的唯一性。

Recommendation.select('DISTINCT(name)')
              .where(id: [1, 2, 3, ...])
              .where('name = ?', name)