如何计算whereDate,whereMonth变量?

时间:2019-09-16 23:49:03

标签: laravel eloquent laravel-5.8

我只想显示一个变量的总付款额和本月的总付款额

控制器

$payments = Payment::where('user_id', auth()->user()->id)->get();

return view('subscribers.payments', compact(['payments']));

查看

<label>Total payments</label>
<p>{{ $payments->sum('amount') }}</p>

<label>For this month</label>
<p>{{ $payments->whereMonth('created_at', now()->month)->sum('amount') }}</p>

实际上显示了总付款总额。但是“本月”不起作用,并在下面向我返回错误:

  

方法Illuminate \ Database \ Eloquent \ Collection :: whereMonth不存在。


有人可以告诉我我哪里出问题了吗?以及实现此目标的正确方法?

2 个答案:

答案 0 :(得分:2)

很遗憾,SELECT a.Col1, a.Col2, b.Col3 FROM b CROSS JOIN a INNER JOIN c ON c.Name = a.Name AND c.ID = a.ID; 仅在查询生成器中可用。您可以whereMonth检索到这些项目:

filter

答案 1 :(得分:2)

当您拥有超过一年的数据时,不是仅靠月份查询就会在以后产生问题吗?我只用当前月的开始。

<p>{{ $payments->where('created_at', '>=', now()->startOfMonth())->sum('amount') }}</p>