Skip to content

Instantly share code, notes, and snippets.

@jhjguxin
Created August 26, 2014 09:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jhjguxin/e8b65d1b669f803ac248 to your computer and use it in GitHub Desktop.
Save jhjguxin/e8b65d1b669f803ac248 to your computer and use it in GitHub Desktop.
Preload, Eagerload, Includes and Joins
user_id = 11

Task.joins("left JOIN ownerships ON ownerships.subject_id = tasks.id AND ownerships.subject_type = 'Task'").where("ownerships.subject_type" => "Task", user_id: 11).select("distinct '#{subject_klass.table_name}.id'").select("#{subject_klass.table_name}.*")

Task.joins("left JOIN ownerships ON ownerships.subject_id = tasks.id AND ownerships.subject_type = 'Task'").where("ownerships.subject_type" => "Task", user_id: 11).group("#{subject_klass.table_name}.id")

Task.includes(:ownerships).where("ownerships.subject_type" => "Task", user_id: 11)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment