Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉威尔于同一日期创建_Php_Laravel_Eloquent - Fatal编程技术网

Php 拉威尔于同一日期创建

Php 拉威尔于同一日期创建,php,laravel,eloquent,Php,Laravel,Eloquent,我试图获得在同一日期创建的用户,但我的数据库中的时间是UTC,因此当用户在晚上10:00(当地时间)创建时,它存储为第二天的凌晨1:00,所以当我使用whereDate('created_at','=',Carbon::now('America/SaoèPaulo')时它没有得到用户请尝试在两者之间 Model::whereBetween('created_at', [Carbon::now()->startOfDay(), Carbon::now()->endOfDay()])-&

我试图获得在同一日期创建的
用户
,但我的数据库中的时间是UTC,因此当
用户
在晚上10:00(当地时间)创建时,它存储为第二天的凌晨1:00,所以当我使用
whereDate('created_at','=',Carbon::now('America/SaoèPaulo')时
它没有得到
用户

请尝试
在两者之间

Model::whereBetween('created_at', [Carbon::now()->startOfDay(), Carbon::now()->endOfDay()])->get();
其他可能的方式:

where('created_at', '>=', date('Y-m-d').' 00:00:00'));

在@sta的帮助下,他建议改用
whereBetween()
,我首先得到了当地时间的开始/结束时间,然后将其转换回UTC

$start_of_day = Carbon::now('America/Sao_Paulo')->startOfDay()->utc();
$end_of_day = Carbon::now('America/Sao_Paulo')->endOfDay()->utc();
return User::whereBetween('created_at',[$start_of_day,$end_of_day])->get();

如果您想在同一日期创建用户,为什么不简单地按创建时间分组,那么您就不必关心这些细节。

无需使用
Carbon::today
,因为laravel使用函数
now()
作为辅助函数
Model::whereDay('date',now()->day)->get()谢谢你的提示,我实际上只使用了
Now()
,而且很有效,我不知道为什么要在这里放碳。我想我从另一个问题中得到了代码。是的,它可以工作,但仍然得到与UTC相关的数据,我需要在同一天创建的数据,与当地时间相关。您配置中的当前时区是什么?UTC,我需要将其保留在UTC,因为其他具有不同时区的国家将可以访问reportsTry,而不是
Carbon::now('UTC')
Try
whereBetween
而不是
Model::whereBetween('date',[Carbon::now()->startOfDay(),Carbon::now()->endOfDay())->get()如我所说,创建的_at存储在UTC中,我需要在与本地时间相关的同一天创建的用户。
whereDate('created_at', '=', Carbon::today()->toDateString());
$start_of_day = Carbon::now('America/Sao_Paulo')->startOfDay()->utc();
$end_of_day = Carbon::now('America/Sao_Paulo')->endOfDay()->utc();
return User::whereBetween('created_at',[$start_of_day,$end_of_day])->get();