0

テーブル内の多数のレコードに対して 1 つの列だけを選択しようとしています。これは私が探しているものを生成しません。私が作成しようとしているものに相当する SQL は次のとおりです。

SELECT OneColumn FROM Table WHERE ForeignKey = 1

Rails Guide for Active Record にある多くの提案を試しましたが、うまくいきませんでした。

4

2 に答える 2

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を試してください。

于 2013-02-03T03:06:38.677 に答える
0

使用pluck:

Table.where(ForeignKey: 1).pluck(:OneColumn)
于 2013-02-03T03:05:04.730 に答える