【问题标题】:`date_sub` not working in SQL via laravel`date_sub` 不能通过 laravel 在 SQL 中工作
【发布时间】:2014-08-15 04:54:39
【问题描述】:

我遇到以下 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.5, MySQL 5.6, Laravel 4

【问题讨论】:

    标签: php mysql sql laravel-4


    【解决方案1】:

    使用原始语句:

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

    不同的是,这是一个参数化查询,所以它基本上是把它当作一个字符串来处理

    【讨论】:

    • 你能帮我解决这个错误吗? 一般错误:1 接近“1”:语法错误(SQL:select * from “users” where “timestamp”
    猜你喜欢
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多