Сырой SQL в named_scope - PullRequest
       7

Сырой SQL в named_scope

0 голосов
/ 09 декабря 2010

Как я могу превратить этот сырой SQL в named_scope?

select d.*, count(*) shots_count
   from  duels d, duel_shots ds
   where d.id = ds.duel_id
   group by d.id
   having (d.shots = 1 and shots_count >= 2) or (d.shots = 3 and shots_count >= 6)

1 Ответ

0 голосов
/ 09 декабря 2010

Я думаю, что вы хотите присоединиться, кстати. Попробуй:

class Duel < ActiveRecord::Base
  has_many :duel_shots

  named_scope :blah,
    :select => 'duels.*, count(duels.id) shots_count',
    :joins => :duel_shots,
    :group => 'duels.id',
    :having => '(duels.shots = 1 AND shots_count >= 2) OR (duels.shots = 3 AND shots_count >= 6)'

end
...