【发布时间】:2017-12-25 21:20:57
【问题描述】:
我正在尝试执行这样的查询:
Select * from table where created_at > DATE_SUB(NOW(), INTERVAL 1 DAY) 在 phalcon 模型查询表单中。但我不断收到以下错误:
语法错误,意外令牌 INTEGER(1),靠近“DAY)”,
通过查询构建如下
$donations = Donations::query()
->where('created_at > DATE_SUB(NOW(), INTERVAL 1 DAY)')
->execute();
上面的代码给了我这个错误。现在我已经尝试如下
$donations = Donations::query()
->where('created_at > :holder:')
->bind(["holder" => 'DATE_SUB(NOW(), INTERVAL 1 DAY)'])
->execute();
虽然这个绑定没有给我一个错误,但它给了我一个 0 结果,但是我在表中插入了几行来检查这个,当我在 phpmyadmin 中执行查询时它工作正常,所以我假设可能有我的 phalcon 库设置中的日期时间混淆了,但是当我从 1 DAY 更改为 1 MONTH 时仍然没有结果。有人可以指导我吗?
【问题讨论】:
-
我没有使用 phalcon 框架,但基于其他框架,我认为这与 where 函数需要知道它是本机 sql 功能这一事实有关。尝试类似 ->where(new RawValue('created_at > DATE_SUB(NOW(), INTERVAL 1 DAY)'))
标签: php mysql datetime phalcon phalcon-orm