在cakephp中使用DATE_SUB(CURDATE(),INTERVAL 2 DAY)条件的方法

发布于 2024-12-29 20:27:49 字数 1120 浏览 1 评论 0原文

我正在使用 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);

cake 使用此选择:

`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)'  

但通过此选择 mysql 无法返回记录,因为此选择中的 cakephp 在最后一段中使用此字符(')。 当我删除此字符并在 phpmyadmin 中测试此代码时,此代码返回行。下面的两张图片显示了这一点:

cakephp mysql code

不带 <code>'</code> 字符的 phpmyadmin 图像

i am using cakephp and creating this condition:

$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);

cake using this select :

`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)'  

but by this select mysql can't return record because cakephp in this select use this character (') in last passage.
when i remove this character and test this code in phpmyadmin this code return rows. two images in below show this :

cakephp mysql code

image of phpmyadmin without <code>'</code> character

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

初相遇 2025-01-05 20:27:49

只是不要将其作为 key => 分开值对:

$conditions = array(
   ...
   'DATE(Userword.date) = DATE_SUB(CURDATE(), INTERVAL 0 DAY)'
);

Just don't separate it out as key => value pair:

$conditions = array(
   ...
   'DATE(Userword.date) = DATE_SUB(CURDATE(), INTERVAL 0 DAY)'
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文