0
私は2つのモデルを次のように関連付けました。Rails 5 - Activerecordの関連付けクエリ
class Comment < ApplicationRecord
belongs_to :user
end
class User < ActiveRecord::Base
has_many :comments
end
レコードクエリ
comments_list = Comment.where(:post_id => post_id, :is_delete => false).joins(:user).select('comments.*,users.*')
は、ロガーで、次のmysqlのクエリを生成します
SELECT comments.*,users.* FROM `comments` INNER JOIN `users` ON `users`.`id` = `comments`.`user_id` WHERE `comments`.`post_id` = '81' AND `comments`.`is_delete` = 0.
に続き、これは非常にligitimateクエリを生成しますが、comments_listオブジェクトはコメントだけのテーブルから列を含んでいるようです。
おかげ
はい@Macelo Risoli - 感謝しました。これは、コントローラでこのクエリを実行してクライアント(ブラウザ)に応答を返し、ループを繰り返して別のハッシュを構築する場合、結果を変換する必要があることを意味します。 – user3775217
最初の回答 - 最後のpara http://stackoverflow.com/questions/19175084/activerecord-query-through-multiple-joins – user3775217