テーブル内の多数のレコードに対して 1 つの列だけを選択しようとしています。これは私が探しているものを生成しません。私が作成しようとしているものに相当する SQL は次のとおりです。
SELECT OneColumn FROM Table WHERE ForeignKey = 1
Rails Guide for Active Record にある多くの提案を試しましたが、うまくいきませんでした。
テーブル内の多数のレコードに対して 1 つの列だけを選択しようとしています。これは私が探しているものを生成しません。私が作成しようとしているものに相当する SQL は次のとおりです。
SELECT OneColumn FROM Table WHERE ForeignKey = 1
Rails Guide for Active Record にある多くの提案を試しましたが、うまくいきませんでした。
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)