Posted By

stancox on 12/12/10


Tagged

activerecords


Versions (?)

Частоиспользуемые запросы ActiveRecord


 / Published in: Rails
 

  1. class Car < ActiveRecord::Base
  2. def self.only_red
  3. self.find(:all, :conditions => "color = 'red'")
  4. end
  5. end
  6.  
  7. #На помощь приходит очень удобный и простой в использовании named_scope.
  8. class Car < ActiveRecord::Base
  9. named_scope :red, :conditions => 'color = "red"'
  10. end
  11.  
  12. #Использовать его практически также — Car.red. Но кроме этого, можно использовать его вместе с #методом find, например:
  13. Car.red.find(:all, :limit => 10, :order => "id DESC")
  14.  
  15. #А еще их можно комбинировать. Сначала добавим новый scope который позволит включить в #запрос пользователей, которым принадлежат машины:
  16. # named_scope :with_users, :include => :users
  17.  
  18. # Теперь Car.red.with_users создаст сами-знаете-какой запрос. Удобно? Несомненно.

Report this snippet  

You need to login to post a comment.