我的记录设置如下
UserKycScanResults: id, user_kyc_scan_id, match_name <- belongs to UserKycScan
UserKycScan: id, user_id, created_at <- belongs to User
User: id, firstname, lastname
我正在尝试编写一个连接,这样我就可以找到user_kyc_scans表中有条目的用户名和昨天的user_kyc_scan表条目日期以及user_kyc_scan_results表中的match_name(如果存在)。
我试过以下
UserKycScanResult.joins("INNER JOIN user_kyc_scans ON user_kyc_scans.id = user_kyc_scan_results.user_kyc_scan_id
INNER JOIN users ON users.id = user_kyc_scans.user_id").where("users.name = '#{submitted_first_name}', user_kyc_scans.created_at = #{Date.yesterday} ")
但这种方法不起作用。任何帮助,将不胜感激。 并且加入和where子句不在rails 2上工作
请给我任何解决方案来解决这个问题
感谢。
答案 0 :(得分:0)
您的内部联接查询是正确的,但在rails 2中,我们必须以这种方式传递联接和条件:
UserKycScanResult.all(:joins => "INNER JOIN user_kyc_scans ON user_kyc_scans.id = user_kyc_scan_results.user_kyc_scan_id
INNER JOIN users ON users.id = user_kyc_scans.user_id",
:conditions => ["users.name = ? AND user_kyc_scans.created_at = ?", submitted_first_name, Date.yesterday])
参考文件:ruby on rails guides
快乐编码