У меня есть таблица техников , таблица клиентов и таблица заданий .Моя модель техников выглядит следующим образом:
class Technician < ActiveRecord::Base
has_many :jobs
has_many :clients, through: :job_orders
end
Моя модель работы выглядит следующим образом:
class Job < ActiveRecord::Base
belongs_to :technician
belongs_to :client
end
А модель моих клиентов выглядит следующим образом:
class Client < ActiveRecord::Base
has_many :job_orders
has_many :technicians, through: :jobs
end
Iя могу получить список того, сколько заданий выполнил техник, выполнив
techs = Technician.all
techs.each do |tech|
puts "#{tech.name} has been assigned #{tech.jobs.count} jobs"
end
Теперь, как я могу увидеть техника с наименьшим количеством заданий или клиента с наибольшим количеством запросов на работу?Я думал о сортировке по сумме asc / desc, но я не смог обдумать проблему.Я не использую рельсы, просто старый Ruby с гемом activerecord.