0

ここではRailsの初心者ですが、関連する2つのモデルがあります

  class User < ActiveRecord::Base
    has_many :images

  class Image < ActiveRecord::Base
    belongs_to :user

ユーザーの画像を取得できることを理解しています。また、現在のユーザーに関する情報を返す current_user メソッドを使用することもできます

@user.images or current_user.images

通常のSQLのように、画像データとユーザーデータの両方を1行で返すようにしたい場合はどうすればよいですか。

SELECT u.* FROM users u
JOIN images i
ON i.user_id = u.id etc..

これを行うための最良かつ最も効率的な方法は何ですか?

4

1 に答える 1

2

クエリ -

SELECT u.* FROM users u
JOIN images i
ON i.user_id = u.id etc..

と同等です -

@user.joins(:images)

アップデート:

特定のフィールドのみを取得するには -

@comments = @user.joins(:images).select("images.path, images.path_thumb, users.username")
于 2013-03-14T12:58:46.750 に答える