con*_*t01 6 activerecord ruby-on-rails
我试图让所有与医生相关联的客户都没有开始他们的第一次会议(一个客户有_许多医生并且可以与他们每个人进行第一次会议)。
到目前为止,我有:
@clients = Client.joins(:doctors).where('doctors.first_session IS NULL').order('clients.id DESC')
Run Code Online (Sandbox Code Playgroud)
但是当客户有例如 2 个医生时,这不起作用。第一个doctor.first_session = null 但第二个不是。这种情况将返回客户端,它不希望它返回。
有任何想法吗?
Don*_*van -4
您可以在模型中创建一个方法Client
,如果客户医生的任何first_session为真,则该方法返回true,例如......
def has_first?
self.doctors.each do |doctor|
return true if !doctor.first_session.nil?
end
return false
end
Run Code Online (Sandbox Code Playgroud)
这是伪代码,可能需要先进行调整
归档时间: |
|
查看次数: |
2561 次 |
最近记录: |