我有一个users表和一个contracts表,它们之间的关系如下:
user.rb
has_many :contracts
def current_year_contracts
total = 0
contracts.where('entry_date >= ?', Date.current.beginning_of_year).each do |entry|
total += entry.total_number.to_f
end
total
end
contract.rb
belongs_to :user, optional: true
我在这里面临的问题是如何使用current_year_contracts对用户进行升序或降序排序。
@users = User.all.order(users.current_year_contracts "#{direction}")
方向可以是升序或降序。
1条答案
按热度按时间b4wnujal1#
如果Ruby中的排序正常,则可以运行以下代码:
如果您需要SQL排序,我们需要知道使用的是什么数据库服务器。