cakePHP-SQL-在sql中添加来自不同表的值

时间:2014-02-19 16:37:29

标签: php mysql sql cakephp

我正在开发一个项目,要求我做一些查询,因为我的sql有点生锈,我有点麻烦。查询中涉及3个表:

donors
donations
donation_methods 

我需要使用正确的语法运行一个逻辑上与此类似的有效sql语句:

SELECT  `tel_no` 
  FROM  `donors` as `dnr` 
        LEFT JOIN  `donations` as `dn` 
                   ON  `dnr`.id =  `dn`.donor_id
        LEFT JOIN  `donation_method` as `dm` 
                   ON `dn`.donation_method_id = `dm`.id
  WHERE `dn`.created`+`dm`.recovery_time >= NOW() // here is the problem

我不完全确定如何做到这一点!有帮助吗?此外,如果可以使用cake的方法(查找等),结合'conditions'数组,这将是伟大的!  感谢

[编辑] 恢复时间为INT类型,而创建的类型为datetime

2 个答案:

答案 0 :(得分:1)

更改

WHERE `dn`.created`+`dm`.recovery_time >= NOW()
          ^ missing `    

WHERE `dn`.`created`+`dm`.`recovery_time` >= NOW()

答案 1 :(得分:1)

您应该能够使用DATE_ADD function来实现此目标

WHERE DATE_ADD(dn.created, INTERVAL dn.recovery_time YEAR) >= NOW()