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