当前位置:  开发笔记 > 后端 > 正文

带有has_and_belongs_to_many的Rails named_scope

如何解决《带有has_and_belongs_to_many的Railsnamed_scope》经验,为你挑选了1个好方法。

我有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来显示所有电影滚动类型?



1> Brian Guthri..:
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)

为了指定多个类型作为命名范围的一部分,我使这个稍微复杂一点.希望能帮助到你.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有