Sql ActiveRecord查询计数关系数

Sql ActiveRecord查询计数关系数,sql,ruby-on-rails,activerecord,Sql,Ruby On Rails,Activerecord,这是一个Ruby 1.9.3/Rails 3.2项目 比如说,我有一个名为角色的模型,还有一个名为员工的模型,通过一个has\u many/belient\u关系链接。一个角色有许多员工,而一个员工属于一个角色。这两个模型都属于具有许多雇员和角色的存储对象 每个角色都有一个target_headcount属性,表示该职位的理想员工人数。在此基础上,我为角色提供了如下方法: def self.open_headcount all.select { |r| r.variance < 0 }

这是一个Ruby 1.9.3/Rails 3.2项目

比如说,我有一个名为角色的模型,还有一个名为员工的模型,通过一个has\u many/belient\u关系链接。一个角色有许多员工,而一个员工属于一个角色。这两个模型都属于具有许多雇员和角色的存储对象

每个角色都有一个target_headcount属性,表示该职位的理想员工人数。在此基础上,我为角色提供了如下方法:

def self.open_headcount
  all.select { |r| r.variance < 0 }
end
通常情况下,我需要获得每个角色的集合,这些角色都有开放的员工数量。我使用以下角色的类方法执行此操作:

def self.open_headcount
  all.select { |r| r.variance < 0 }
end

然而,我现在使用的是meta_搜索,这是一种需要ActiveRecord::Relation对象的RubyGem。我想将open_headcount从一个类方法更改为一个范围,以便它返回一个ActiveRecord::Relation对象,但我不确定这是否可行。

这太旧了,但是FTR我可能可以通过使用SQL查询来计算角色的员工数量,并从中减去目标列的值来完成这项工作。

您愿意将开放式员工人数作为整数添加到角色表中吗?@JessewLGamott我想避免它,但我想如果必须的话,我可以在员工上使用after_create和after_update挂钩来设置RolePen_的人数。