🐒
【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