取得したい条件
usersテーブルのgenderカラムがmenのレコード全て + そのuser_idに紐づくcomment,evaluationを全て取得したいです。
ruby
1 2# usersテーブル (User.rb) 3has_many :comments 4 5id 6name 7email 8gender ( boolean, men or lady ) 9updated_at 10created_at 11 12 13# commentsテーブル (Comment.rb) 14belongs_to :users 15 16id 17comment 18evaluation 19updated_at 20created_at 21user_id(FK) 22 23
自分で考えたこと
まずテーブルを結合するためにjoinsで
User.joins(:comments)をする必要があると考えました。
またgenderを絞る必要があるので、where(gender: men)も加える必要があると考えました。
また色々調べているとselectでカラムを絞る必要がありそうです。
一旦、User.joins(:comments).select("*")としてgenderを絞らず関連先のテーブルも、全て取得できるのではないかと考えましたが上手く行きません。
他の方法だとして、結合ということをせず2回に分けて各テーブルを取得するのはテーブルを分けている理由がないなとも思ってました。
どのように取得するのが最適なのでしょうか。
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。