我在drivers表中定义了has_one关系
has_one :current_haul
它与hauls table有关
并且运行表和驱动程序表,它们都有organization_id
。
我想应用这样的条件
select *
from drivers
join hauls on drivers.organization_id=hauls.organization_id
and drivers.current_haul_id= hauls.id
我可以将这个条件放在has_one
修饰符中吗?
答案 0 :(得分:0)
您可以在驱动程序模型中添加如下所示的关联。
has_one:current_haul, - > {where(current:true).first},class_name:'Haul'
这里我假设您的Haul模型中存在一个布尔位来检查当前状态。
答案 1 :(得分:0)
这是您可以做到的,只需在Haul
表上添加一个布尔列即可。也许您将需要一个唯一索引以确保您在任何给定时刻都没有多个 currents 。
has_one :current_haul, -> { where(current: true) }, class_name: 'Haul'