我有2个型号
类别:
public function transaction()
{
return $this->hasMany('App\Transaction');
}
交易:
public function category()
{
return $this->belongsTo('App\Category');
}
我构建了一个包含列Category,Month和Total(事务)
的表在控制器中:
$cats = Category::all();
视图中的结果: (在视图中我循环foreach for transactions-> created_at并格式化它,因此它将显示月份Word而不是数字)
问题是,如何使月份在组中,所以它不会在同一个月循环,同样发生在总数上,它会分组;总数量。谢谢
答案 0 :(得分:0)
由于这是一对多关系(类别有很多事务),如果要在类别中迭代时显示事务属性,则需要聚合集合中的字段(事务)。
对于作为数字的总计字段,解决方案很简单Laravel's sum() function of a collection,假设这是您想要的。
至于月份,它取决于您希望在Month列上显示的内容,然后决定用于操作每个事务的created_at的聚合函数。您无法通过sum函数添加日期,但您可能需要进行一些自定义计算,因此请考虑使用the reduce function of a collection。