関連するテーブルをまとめて取得
適応バージョン
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.2.1
- 7.0.0
説明
関連するテーブルをまとめて取得
使い方
モデル.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'))