Hai*_*vgi 2 php mysql doctrine-1.2
我尝试使用学说 1.2 进行此查询:
$q->where('date > ?',
new Doctrine_Expression('DATE_SUB(CURDATE() , INTERVAL 7 DAY)'));
Run Code Online (Sandbox Code Playgroud)
但它没有给我任何结果。
任何的想法 ?
谢谢
它不返回任何内容的原因是因为 Doctrine 对表达式进行了转义 - 生成的 SQL 是
WHERE (date > 'DATE_SUB(CURDATE(), INTERVAL 7 DAY)')
Run Code Online (Sandbox Code Playgroud)
而不是
WHERE (l.action_time > DATE_SUB(CURDATE(), INTERVAL 7 DAY))
Run Code Online (Sandbox Code Playgroud)
你可以强迫它像这样工作:
$date = new Doctrine_Expression('DATE_SUB(CURDATE() , INTERVAL 7 DAY)');
$q->where('date > ' . $date);
Run Code Online (Sandbox Code Playgroud)
然而,这不是最安全的选择,因为输入不会被转义并且不是好的做法......
| 归档时间: |
|
| 查看次数: |
2958 次 |
| 最近记录: |