rob*_*b_m 4 php mysql sql laravel-4
我遇到了以下laravel代码的问题,在Laravel中执行时没有返回任何行:
$entries = DB::table('chemlog')
->where('timestamp', '>=','DATE_SUB(NOW(), INTERVAL 1 DAY')
->orderBy('timestamp','desc')
->get();
Run Code Online (Sandbox Code Playgroud)
当我在MySQL控制台上执行以下操作时,它可以正常工作:
SELECT * FROM chemlog WHERE timestamp >= DATE_SUB(NOW(), INTERVAL 1 DAY)
Run Code Online (Sandbox Code Playgroud)
Laravel的组装和我在控制台上写的内容有什么区别?
我正在使用:
PHP 5.5,
MySQL 5.6,
Laravel 4
使用原始声明:
->where('timestamp', '>=', DB::raw('DATE_SUB(NOW(), INTERVAL 1 DAY)'))
Run Code Online (Sandbox Code Playgroud)
区别在于这是一个参数化查询,因此它基本上将其视为一个字符串