laravel-用carbon格式化mysql数据库中的数据

9rbhqvlz  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(368)

在我的laravel项目中,我有一个mysql数据库表,其列如下:

|   requested_at  |
 2018-02-03 12:00:00
 2018-03-03 11:00:00

我想获取此列中时间戳(请求的时间)早于60天的所有项目:

$now = Carbon::now ();  

$60days  = DB::table('exampletable')->where('requested_at', '=', $now->subDays(60))->get();

对于下面的代码,我需要格式化我列中的日期格式 requested at .
我只想得到这样的约会 2018-03-03 没有时间。
我尝试了一些碳排放方法,但根本不起作用:

$format60 = Carbon::createFromFormat('Y-m-d', $60days);
n1bvdmb6

n1bvdmb61#

似乎您正在使用时间戳类型

->where('requested_at', '<=', now()->subDays(60)->startOfDay())->get();

如您所见,不需要格式化 Carbon 示例。
全部分解:

now() // Laravel helper to get Carbon::now()
->subDays(60) // subtract 60 days
->startOfDay() // set time part of timestamp to start of the day

注:添加 requested_at 进入 $dates 您的模型中的数组更易于使用

ht4b089n

ht4b089n2#

你可以通过mysql实现这一点,不需要碳。
只是使用 datediff() 以及 now() mysql的。
你喜欢这样吗

$days60  = DB::table('exampletable')
    ->whereRaw('datediff(now(),requested_at) = 60')
    ->get();

示例:-

相关问题