gee*_*pak 1 ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2
Package.rb
has_many :deals
Run Code Online (Sandbox Code Playgroud)
Deal.rb
belongs_to package
Run Code Online (Sandbox Code Playgroud)
现在简单的问题是我希望获得交易数量不止一个的所有包裹.这样做的最佳方法是什么?where(:available_for_purchase => true)和self.deals.count > 0
(package.rb)
class << self
def available
where(:available_for_purchase => true)
end
end
Run Code Online (Sandbox Code Playgroud)
def self.available
joins(:deals).where(:available_for_purchase => true).uniq
end
Run Code Online (Sandbox Code Playgroud)
加入deals协会将删除Packages没有任何交易... SQL正在这里努力工作.
然后使用:
Package.available
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |