Laravel查询生成器-日期查询不起作用

问题描述

我正在使用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;
}

但是可以正常工作

$profit = Profit::whereDate('created_at','2020-08-01')->first(); //<-- its working fine statically

我做错了什么,谢谢你

解决方法

这应该行得通,我必须相信我们错过了一个难题。

话虽这么说,您不需要在Laravel中按日期查询就很麻烦:查询构建器将接受Carbon日期毫无问题。因此,我建议我们将您的代码简化为此代码,看看它是否有任何改变:

$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();
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...