MetaWhere at the Ruby Drink-up of Sophia, October 2011
Oct. 5, 2011•0 likes•945 views
Download to read offline
Report
Technology
ActiveRecord query syntax on steroids.
Presented at the Ruby Drink-up of Sophia Antipolis on the 4th of October 2011 by Pierre Schambacher (@PierreSchambac).
http://rivierarb.fr/2011/10/04/Drinkup/
5. Quel problème ?
Je veux les Posts d’aujourd’hui
Post.where(:date => Date.today)
6. Quel problème ?
Je veux les Posts d’aujourd’hui
Post.where(:date => Date.today)
Je veux les Posts des 7 derniers jours
7. Quel problème ?
Je veux les Posts d’aujourd’hui
Post.where(:date => Date.today)
Je veux les Posts des 7 derniers jours
Post.where(“date >= #{Date.today - 1.week}“)
8. Quel problème ?
Je veux les Posts d’aujourd’hui
Post.where(:date => Date.today)
Je veux les Posts des 7 derniers jours
Post.where(“date >= #{Date.today - 1.week}“)
11. Quel problème ?
Posts de User#42 ou de User#1337
Post.where(“user_id = 42 OR user_id = 1337“)
12. Quel problème ?
Posts de User#42 ou de User#1337
Post.where(“user_id = 42 OR user_id = 1337“)
13. Quel problème ?
Posts de User#42 ou de User#1337
Post.where(“user_id = 42 OR user_id = 1337“)
Posts des utilisateurs ayant un compte créé il y
a plus de 3 mois
14. Quel problème ?
Posts de User#42 ou de User#1337
Post.where(“user_id = 42 OR user_id = 1337“)
Posts des utilisateurs ayant un compte créé il y
a plus de 3 mois
Post.joins(:something).where(“...“)
15. Quel problème ?
Posts de User#42 ou de User#1337
Post.where(“user_id = 42 OR user_id = 1337“)
Posts des utilisateurs ayant un compte créé il y
a plus de 3 mois
Post.joins(:something).where(“...“)
25. Plus loin !
Surcharge des opérateurs
:date >= Date.today
:value ^ nil
Méthodes pour order et joins également
joins(:accounts.outer)
order(:created_at.desc)