我有一个名为jobs
的表,与一个名为job_request
的表有关系。
我正在尝试从作业表中获取所有等待状态的作业。我还想要包含job_request表中的记录,其中user_id等于特定用户。
这是缺少最后一个where子句的代码,它给出了每个作业的所有请求:
@jobs = Job.includes(:job_requests).where(:status => 'waiting')
换句话说,我希望执行以下SQL子句:
SELECT "jobs".* FROM "jobs"
LEFT OUTER JOIN "job_requests" ON "job_requests"."job_id" = "jobs"."id"
WHERE (jobs.status = 'waiting' OR job_requests.user_id = 1)
答案 0 :(得分:1)
如果我找到你的话,这是你的询问。
@jobs = Job.includes(:job_requests)
.where('jobs.status = ? OR job_requests.user_id = ?', 'waiting', api_current_user.id)
.references(:job_requests)
答案 1 :(得分:0)
对于AND条件,您需要编写我相信的SQL:
uninstall()