我一直在网上寻找解决方案,但无济于事。我正在解决一个问题,我们在 has_many 关联中有两个表,这里是模型名称
class Employee < ActiveRecord::Base # main table stores all the employee details
has_many :work_orders
attributes :id, :name
class WorkOrder < ActiveRecord::Base # Work Orders are created by a form
belongs_to :employee
attributes :id, :work_details, :employee_id
软件规范是为 WorkOrders 创建一个表单,由一个单独的实体提及所有工作细节(假设一个客户,因此在保存表单细节时,employee_id 为 nil )。此时,在数据库中保存 WorkOrder 的详细信息后,我们需要触发一个自动调度系统,该系统将自动分配具有最少 work_orders 数量的员工,并按以下顺序提供优先权;
没有关联 WorkOrders 的员工(第一个条件,如果未找到,则为下一个)
他正在工作的关联 WorkOrder 数量最少的员工(或第二个条件)
我正在尝试使用活动记录将上述条件耦合到一个 FIND SQL 中,该活动记录将返回一个只有一个员工记录的集合,以便我们可以将 employee.id 与这个新工作订单的 work_orders.employee_id 相关联。
我编写了一个管理面板来查找所有没有关联employee_id 的work_orders,并且可以通过手动提供employee.id(使用上述首选项)来使用下一个可用员工更新work_orders 记录,但我想在某种程度上自动执行此操作。
任何建议或伪代码会有帮助吗?