aya*_*aya 3 cakephp sql-date-functions conditional-statements
我正在使用cakephp并创建此条件:
$conditions = array("Userword.levelid"=>0, "Userword.userid"=>$this->Auth->user('UserId'),"date(Userword.date)"=>"DATE_SUB(CURDATE(),INTERVAL 0 DAY)");
$Userword = $this->paginate(null, $conditions);
Run Code Online (Sandbox Code Playgroud)
使用此选择的蛋糕:
`Userword`.`userwordid`, `Userword`.`userid`, `Userword`.`wordid`, `Userword`.`date`, `Userword`.`levelid`, `Word`.`wordid`, `Word`.`word`, `Word`.`meaning`, `User`.`UserId`, `User`.`Email`, `User`.`password`, `User`.`username`, `User`.`cell`, `User`.`web` FROM `userwords` AS `Userword` LEFT JOIN `words` AS `Word` ON (`Userword`.`wordid` = `Word`.`wordid`) LEFT JOIN `users` AS `User` ON (`Userword`.`userid` = `User`.`UserId`) WHERE date(`Userword`.`date`) = 'DATE_SUB(CURDATE(),INTERVAL 2 DAY)'
Run Code Online (Sandbox Code Playgroud)
但是由此选择mysql无法返回记录,因为此选择中的cakephp '在最后一段中使用此字符().当我删除此字符并在phpmyadmin此代码中测试此代码返回行.下面的两张图片显示了这一点:


只是不要把它分开作为key => value pair:
$conditions = array(
...
'DATE(Userword.date) = DATE_SUB(CURDATE(), INTERVAL 0 DAY)'
);
Run Code Online (Sandbox Code Playgroud)