Rails 2
Rails 3
project to_sql
project to_sql
users.where(users[:first_name].eq_any
(Ryan, Bob, Alice, Etc.))
users.where(users[:first_name].eq(Ryan))
User.find_all_by_first_name(Ryan)
ryans = users.where(users[:first_name].eq(Ryan))
ryans.where(users[:programmer].eq(true))
users.where(emails[:sent_at].in((2.weeks.ago)..(1.week.ago))
project to_sql
users.join(emails).on(emails[:user_id].eq(users[:id]).
where(emails[:sent_at].lteq(2.weeks.ago))
users.join(donations).on(donations[:user_id].eq(users[:id])).
join(invites).on(invites[:id].eq(donations[:invite_id])).
join(pushes).on(pushes[:id].eq(invites[:push_id])).
join(campaigns).on(campaigns[:id].eq(pushes[:campaign_id])).
where(campaigns[:id].eq(parameters[:campaign_id]))
project to_sql
.project(users.*)
project to_sql
users.order(users[:first_name])
users.order(users[:first_name].desc)
project to_sql
users.take(5)
project to_sql
users.skip(10).take(5)
project to_sql
User.find_by_sql(users.to_sql)
temporary_users = connection.select_values(sql)
temporary_users.uniq.flatten.map! do |user_ids|
[self.id, user_ids].join(",")
end.join("\n")
users.order(RANDOM())
users.where(foo = bar)