我有订单表,每个用户每周都有付款表。 我想向用户显示,他将根据周数来支付总付款额。 我已经创建了查询,但是在刀片端,当我尝试通过口才来访问其他表时,该查询在此集合中没有退出。
如果我不使用按功能分组,则可以使用。但是通过功能分组确实可以实现
$earnings = user()->orders()->where('payment_status',0)-
>where('status',1)->get()->groupBy(function($date) {
return Carbon::parse($date->created_at)->format('W');
});
在刀片服务器端,我的代码如下:
@foreach($earnings as $earning)
<tr>
<td>{{$earning->user->name}}</td>
<td>{{$earning->order->commission}}</td>
<td>{{$earning->user->bank}}</td>
<td>{{$earning->user->iban}}</td>
<td>{{$earning->user->phone}}</td>
@endforeach
答案 0 :(得分:0)
get()
应该在最后:
$earnings = user()->orders()
->where('payment_status',0)
->where('status',1)
->groupBy('created_at')
->get();
如何使用DATE_FORMAT
函数:
$earnings = user()->orders()
->where('payment_status',0)
->where('status',1)
->groupBy(DB::raw("DATE_FORMAT(created_at, '%W')"))
->get();
答案 1 :(得分:0)
假设您的表是orders
,您可以这样做:
$earnings = user()->orders()->select('orders.*', DB::raw("DATE_FORMAT(created_at, '%W') as week"))
->where('payment_status',0)
->where('status',1)
->get()->groupBy('week');
答案 2 :(得分:0)
Laravel集合FooBar
函数返回分组集合的集合。
groupBy()
现在,这是收入组的集合,而不是收入。
$earningGroups = user()->orders()
->where('payment_status',0)
->where('status',1)
->get()
->groupBy(function($earning) {
return Carbon::parse($earning->created_at)->format('W');
});