🐒
【Rails】他テーブルを結合してwhereする
結論
-
joins
を用いてINNER JOIN
できる。 - https://railsguides.jp/active_record_querying.html#joins
具体例
-
events
テーブルと、user
テーブルを結合して、username
でselectする。
Event.joins(:user).where(user: { username: 'emono' })
僕はこんな感じで、modelのscopeによく使うwhere句を定義しがちです。
class Event < ApplicationRecord
scope :find_by_username, ->(username) { joins(:user).where(user: { username: username }) }
Discussion