0
に参加するには存在しないレコードを取得するクエリに参加します。ただし、一部のユーザーはroles
テーブルにエントリを持っていません(つまり、管理者ではありませんが、他の特別なロールもありません)。レールActiveRecordの範囲は、私はこのActiveRecordのスコープクエリを持つテーブル
に参加するには存在しないレコードを取得するクエリに参加します。ただし、一部のユーザーはroles
テーブルにエントリを持っていません(つまり、管理者ではありませんが、他の特別なロールもありません)。レールActiveRecordの範囲は、私はこのActiveRecordのスコープクエリを持つテーブル
デフォルトでは、レールの結合はINNER JOINを実行します。あなたは、彼らが役割で関連付けられた値を持っていない場合でも、ユーザーを取得したいあなたのユースケースについては、
、LEFT OUTERはあなたが行うことができますRailsの5では
User.joins("LEFT OUTER JOIN roles on roles.user_id = users.id")
JOINを使用します。
User.left_outer_joins(:roles)