Railsドキュメント

関連するテーブルをまとめて取得

適応バージョン

説明

関連するテーブルをまとめて取得

使い方

モデル.includes(:モデル [, ...])

基本的な使い方

Page.includes(:category)
# SELECT "pages".* FROM "pages"
# SELECT "categories".* FROM "categories" WHERE "categories"."id" IN (1)

複数指定

User.includes(:address, :friends)

孫モデルをまとめる

User.includes(friends: :address)

子モデルが存在するレコードを取得

User.joins(:friends).where("friends.id IS NOT NULL")

孫モデルが存在するレコードを取得

User.friends.joins(:followers).where("followers.id IS NOT NULL")

OR演算子を指定

User.where(address: 'hoge').or(User.where(friends: 'fuga'))

ソースコード