Yud*_*Yud 2 ruby ruby-on-rails
我有3张桌子 - 电影,电影_根(连接2张桌子)和流派.在模型film.rb中 - has_and_belongs_to_many:流派在模型genre.rb中 - has_and_belongs_to_many:电影
那么,我怎么能写这个sql代码:
SELECT*FROM genresINNER JOIN films_genresON genres.id = films_genres.genre_id WHERE(films_genres.film_id = 1)
使用模型film.rb中的named_scope来显示所有电影滚动类型?
class Model < ActiveRecord::Base
named_scope :by_genre, lambda { |*genres|
{
:include => :genres,
:conditions => [ "genres.id IN (?)", genres.map(&:id) ]
}
}
end
Film.by_genre(western, sci_fi).find(:all)
Run Code Online (Sandbox Code Playgroud)
为了指定多个类型作为命名范围的一部分,我使这个稍微复杂一点.希望能帮助到你.