我有一个连接查询,执行正常,直到我调用它从测试执行的方法。该测试预计会有2个结果,因此它使用了result.count,并且在' *'附近出现语法错误。这是查询。
JobSearch.joins('inner join job_boards on job_searches.job_board_id = job_boards.id').select('job_searches.*, job_boards.job_board_name, job_boards.job_board_url, job_boards.send_emails_from').where('job_searches.cancelled_date is null and job_searches.created_at > ? and job_searches.email_address is not null and job_boards.active=?', DateTime.now - 90, true)
如果我将job_searches。*更改为该表上的字段,如job_searches.keyword,那么我得到错误 - 函数COUNT的参数数量错误()所有来自此测试的task.get_alerts方法调用查询,错误发生在alerts.count行上。
it 'returns alerts with a null cancelled_date' do
alerts = task.get_alerts
expect(alerts.count).to be(2)
end
那么是否有另一种构造此查询来进行连接的方法,这将允许它返回正确的结果,但也允许测试计算结果?