【发布时间】:2013-02-03 02:56:32
【问题描述】:
我正在尝试为表中的许多记录选择一列。这不会产生我正在寻找的东西。我正在尝试生成的 SQL 等效项是:
SELECT OneColumn FROM Table WHERE ForeignKey = 1
我尝试了 Rails Guide for Active Record 中的许多建议,但都没有奏效。
【问题讨论】:
标签: sql ruby-on-rails rails-activerecord
我正在尝试为表中的许多记录选择一列。这不会产生我正在寻找的东西。我正在尝试生成的 SQL 等效项是:
SELECT OneColumn FROM Table WHERE ForeignKey = 1
我尝试了 Rails Guide for Active Record 中的许多建议,但都没有奏效。
【问题讨论】:
标签: sql ruby-on-rails rails-activerecord
从 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
【讨论】:
使用pluck:
Table.where(ForeignKey: 1).pluck(:OneColumn)
【讨论】: