`date_sub`不通过laravel在SQL中工作

时间:2014-06-24 19:38:44

标签: php mysql sql laravel-4

我遇到以下laravel代码在Laravel中执行时没有返回任何行的问题:

$entries = DB::table('chemlog')
        ->where('timestamp', '>=','DATE_SUB(NOW(), INTERVAL 1 DAY')
        ->orderBy('timestamp','desc')
        ->get();

当我在MySQL控制台上执行以下操作时,它可以正常工作:

SELECT * FROM chemlog WHERE timestamp >= DATE_SUB(NOW(), INTERVAL 1 DAY)

Laravel的装配和我在控制台上写的内容有什么区别?

我正在使用:

PHP 5.5MySQL 5.6Laravel 4

1 个答案:

答案 0 :(得分:9)

使用原始声明:

->where('timestamp', '>=', DB::raw('DATE_SUB(NOW(), INTERVAL 1 DAY)'))

不同之处在于这是一个参数化查询,因此它基本上将其视为字符串