php 'date_sub'无法通过laravel在SQL中工作

yx2lnoni  于 2023-01-24  发布在  PHP
关注(0)|答案(2)|浏览(153)

在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正在组装的和我在控制台上写的有什么区别?
我正在使用:
一个月一次,一个月一次,一个月二次

pod7payv

pod7payv1#

使用原始语句:

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

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

55ooxyrt

55ooxyrt2#

LARAVEL不支持日期_子文件

像这样的简单查询将失败

OfficesHours::limit(10)->get(new Expression("DATE_SUB(date, INTERVAL 2 DAY) as lastday"));

DB::table("office_hours")->get([new Expression("DATE_SUB(date, INTERVAL 2 DAY)")]);

相关问题