[Laravel]计算表列特定范围问题

[Laravel]计算表列特定范围问题,laravel,Laravel,[更新] 我在拉威尔学习数字和。 我想每月计算表的列总数 我写了下面的代码,得到了这个dd结果(图) 然而,我的刀片文件中只有白色的空白页 我的刀片文件(count.blade.php)如下所示 <h3>{{ $q1a }}</h3> [更新] 我用亲爱的OMR的答案写了下面的代码 public function count() { Contact::whereYear('created_at', 2021) -&g

[更新] 我在拉威尔学习数字和。 我想每月计算表的列总数

我写了下面的代码,得到了这个dd结果(图)

然而,我的刀片文件中只有白色的空白页

我的刀片文件(count.blade.php)如下所示

<h3>{{ $q1a }}</h3>
[更新] 我用亲爱的OMR的答案写了下面的代码

   public function count()
        {
    Contact::whereYear('created_at', 2021)
            ->orderBy('created_at')
            ->select(['id','sno','s_date', DB::raw("MonthName(created_at)as monthName"), DB::raw('sum(q1a)')])
            ->groupBy(['id','sno','s_date', 'monthName', 'q1a'])->get();           
        }
下面是count.blade.php代码

@foreach ($values as $value)
  {{ $value->sumQ }}
@endforeach
这是当前的dd结果

您可以在DB stage中完成,它会更快:

 $values=  Contact::whereYear('created_at', 2021)
                ->orderBy('created_at')
                ->select(['id','sno','s_date', DB::raw("MonthName(created_at)as monthName"), DB::raw('sum(q1a) as sumQ ')])
                ->groupBy(['id','sno','s_date', 'monthName'])->get();

注意:您将其添加到select语句中的任何列也应添加到group by语句中。

请告诉我们您调用count()的位置以及如何获得$q1a变量。谢谢您的回答。对不起,我不能理解你的问题的意思。我的目标是我想得到每个总金额q1a q2b q3c。。。价值这些结果显示为每月9月11月12日。。。等等。您提供的信息不足以解决问题。您应该向我们展示您的控制器文件,调用count()方法的文件,以及将变量$q1a传递到刀片文件的部分。再次感谢您。我不敢说我的控制器代码就是它。我更新了我的web.php代码和一些信息。我想我把你搞糊涂了,因为控制程序代码不好。你能帮我拿点东西吗?我可以随时存储值。我的下一步是显示每列的总金额。例如,我想显示二月的结果是'q1a'是4'q1b'是14'q1c'是5。。。“三月”结果是“q1a”是14“q1b”是9“q1c”是25。。。四月的结果是。。。。等我很抱歉我一直让你困惑。谢谢你回答我。我在试你的代码,我有两个问题?什么是“尝试”,我没有这个专栏和。你能教我如何在count.blade文件中编写{{}代码吗?我的错!,这不是尝试,而是q1a,我用这个专栏在我的本地数据库上测试我的代码,你可以在你的刀片文件中为每个数据库做测试,并使用$value->sumQ作为任何其他字段谢谢你亲爱的OMR,抱歉我忘记了每句话。我更新当前代码。我也更新了dd结果图像。我可以获得sumQ值,但无法显示。请你看一下有什么问题吗?你应该按条款从组中删除“q1a”
@foreach ($values as $value)
  {{ $value->sumQ }}
@endforeach
 $values=  Contact::whereYear('created_at', 2021)
                ->orderBy('created_at')
                ->select(['id','sno','s_date', DB::raw("MonthName(created_at)as monthName"), DB::raw('sum(q1a) as sumQ ')])
                ->groupBy(['id','sno','s_date', 'monthName'])->get();