首页 > 解决方案 > Laravel,在刀片视图中使用 groupBy

问题描述

我的刀片里有这个

{{$apartment -> messages() -> count()}}

这让我返回了与公寓相关的消息总数。但是,我希望根据“created_at”区分计数,例如使用 groupBy,然后返回每个日期的总数。是否有可能做到这一点?

标签: laravelgroup-bylaravel-blade

解决方案


未经测试,但它应该可以工作:

$aGroupedMessages = $apartment->messages()->groupBy(function($date) {
    return Carbon::parse($date->created_at)->format('Y-m-d');
})

foreach ($aGroupedMessages as $sDate => $aMessages) {
    echo $sDate . " => " . count($aMessages); 
}

$apartment->messages() 是集合。看看https://laravel.com/docs/5.6/collections#method-groupby


推荐阅读