通过 JOIN in rails 从多个表中获取记录 2

Fetch records from multiple tables by JOIN in rails 2

我的记录设置如下

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 table 和 user_kyc_scan table 条目日期中有条目的用户的名字是昨天以及来自 user_kyc_scan_results table 的 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

上不起作用

请给我任何解决方案来解决这个问题

谢谢。

您的内部联接查询是正确的,但在 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

快乐编码