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
Laravel查询生成器-日期查询不工作_Laravel_Laravel Query Builder - Fatal编程技术网

Laravel查询生成器-日期查询不工作

Laravel查询生成器-日期查询不工作,laravel,laravel-query-builder,Laravel,Laravel Query Builder,我使用for loop for ($i = 1; $i < $days; $i++) { $date = now()->format('Y-m-') . $i; //result '2020-08-1' $date = Carbon::parse($date); //parsing with carbon $profit = Profit::whereDate('created_at', $date->format('Y-m-d'))->fi

我使用
for loop

for ($i = 1; $i < $days; $i++) {
     $date = now()->format('Y-m-') . $i; //result '2020-08-1'
     $date = Carbon::parse($date); //parsing with carbon
     $profit = Profit::whereDate('created_at', $date->format('Y-m-d'))->first(); //<-- this not working getting null data
     $data[] = $profit;
}
($i=1;$i<$days;$i++)的
{
$date=now()->格式('Y-m-')。$i;//结果'2020-08-1'
$date=Carbon::parse($date);//使用Carbon进行解析

$PROFICT=PROFICT::whereDate('created_at',$date->format('Y-m-d'))->first();//first();//这应该行得通,我不得不相信我们缺少了一块拼图

也就是说,在Laravel中按日期进行查询不需要那么费力:查询生成器将接受碳日期,这没有问题。因此,我建议我们将您的代码简化为此,然后看看它是否会改变任何内容:

$date = Carbon::today()->startOfMonth(); // This is the first day of today's month, i.e. 2020-08-01
for($i = 0; $i < $days; $i++) {
    $profit = Profit::whereDate('created_at', $date)->first();
    $data[] = $profit;
    $date->addDay();
}
$date=Carbon::today()->startOfMonth();//这是今天月份的第一天,即2020-08-01
对于($i=0;$i<$days;$i++){
$PROFICT=利润::whereDate('created_at',$date)->first();
$data[]=美元利润;
$date->addDay();
}

谢谢,但仍然不知道为什么它不起作用新的代码起作用了?除了效率更高一点之外,它应该与您的SQL查询相同…非常奇怪。您是否尝试过检查您的老方法的SQL?例如,Profit::whereDate('created_at',$date->format('Y-m-d')->toSql()?
$date = Carbon::today()->startOfMonth(); // This is the first day of today's month, i.e. 2020-08-01
for($i = 0; $i < $days; $i++) {
    $profit = Profit::whereDate('created_at', $date)->first();
    $data[] = $profit;
    $date->addDay();
}