我的rails应用程序中有两个表。
下面是记录
任务表
id task_name date
1 A 2019-03-30
2 B 2019-03-30
3 C 2019-03-30
task_statuses表
id task_id status_id
1 1 1
2 1 2
3 1 3
4 2 1
5 1 4
6 2 2
Status Id and there meaning
1 Started
2 Running
3 Pause
4 Complete
现在, 如果我使用status_id 2(Running)搜索,在这种情况下应该返回task_id 2 如果我使用status_id 4(完整)进行搜索,则应该返回task_id 1
有人可以帮助实现这一目标吗?
谢谢。
答案 0 :(得分:0)
我能够通过
实现任务= task.joins(:task_statuses).where('task_statuses.status_id =? AND task_statuses.status_id =(从中选择max(status_id) task_statuses,其中task_statuses.task_id = task.id)', params [:status_id])