0

findを使用して特定の列のみを選択するかどうか、またはこのような場所を選択するかどうかはわかります。

Post.find(10).select("column1")

しかし、このようなコードを作成する場合post.user.username(ActiveRecordの関連付けに依存)、userテーブルから数列だけを選択したい場合、その方法を見つけることができません。

4

3 に答える 3

1

選択オプションを使用できます

すべての投稿のユーザー名を選択するには

Project.select(["id", "name"])

where条件で

Project.select(["id", "name"]).where("id=1")

HTH

于 2013-01-11T16:45:27.107 に答える
1

あなたは次のようなことをすることができます:

Post.find_by_sql("select * from posts P inner join users U on U.id = P.user_id where U.id = 10").collect{|x| x.<column_name>}
于 2013-01-11T16:51:20.993 に答える
1

投稿モデルでは、関連付けを次のように定義できます。

belongs_to :user, :select => [:username]

次に、投稿を介してユーザーを参照すると、指定された列のみが選択されます。

于 2013-01-11T16:32:21.810 に答える