Rails和Active Record:SQL等效

时间:2013-02-03 02:56:33

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

我正在尝试为表中的许多记录选择一列。这不会产生我正在寻找的东西。我想要产生的SQL等价物是:

SELECT OneColumn FROM Table WHERE ForeignKey = 1

我已经在Rails指南中尝试了许多有关Active Record的建议,但没有一个有效。

2 个答案:

答案 0 :(得分:1)

来自rails 3.2+你有#pluck

Table.where( ForeignKey: 1 ).pluck( :OneColumn )

如果由于非常规列或表名而遇到麻烦,请尝试:

Table.where( Table.arel_table["ForeignKey"].eq 1 ).pluck( Table.arel_table["OneColumn"])

如果您只想要“低级”SQL查询,请尝试#select_all#select_values

答案 1 :(得分:0)

使用pluck

Table.where(ForeignKey: 1).pluck(:OneColumn)