如何在 laravel 模型中转换此 sql 查询

Posted

技术标签:

【中文标题】如何在 laravel 模型中转换此 sql 查询【英文标题】:how to convert this sql query in laravel model 【发布时间】:2020-07-29 18:56:10 【问题描述】:

大家好,我想转换一下这个

SELECT count(*) from `customer` WHERE DATE(created_at) BETWEEN DATE_ADD(CURDATE(),INTERVAL -2 DAY) AND CURDATE()

如何将其转换为 laravel eloquent。

【问题讨论】:

我没有时间给出正确答案,但您使用原始查询:laravel.com/docs/7.x/queries#raw-expressions 你试过什么?这应该很简单,例如Model::whereRaw(...)->count();(你可能需要whereRaw(),你在做mysql特定的转换/日期函数吗) 对不起,我只是 laravel 的新手 【参考方案1】:
$data = DB::table($this->table)
        ->whereRaw('DATE(created_at) BETWEEN DATE_ADD(CURDATE(),INTERVAL -2 DAY) AND CURDATE()')
        ->count();
        return $data;

【讨论】:

以上是关于如何在 laravel 模型中转换此 sql 查询的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 7 中使用原始 SQL 查询创建范围?

如何在 Laravel 6 中转换原始 sql 查询?

在 laravel 5.1 中无法获取 SQL 查询

如何在查询生成器 laravel 中执行此 SQL

如何在 Laravel 5.8 中获取关注用户的帖子

如何将复杂的 sql 查询转换为 laravel Eloquent