我有一个模型SettlementEntries
与子表有关系return $this->hasMany('App\Online', 'entry_id');
当尝试获取一个条目时,我可以对我的集合进行求和,如下例所示。
$item = SettlementEntries::find($id);
$item->Online->sum('field'); // returns the correct sum
我的问题开始时$id
是一个数组,所以我的结果包含 2 个 SettlementEntries。
$items = SettlementEntries::find($ids);
$items->Online->sum('field'); <- returns zero
检索这些金额的正确方法是什么?
拉拉维尔的Collection
通过使用使这变得非常容易点符号。一些例子here https://laravel.com/docs/5.3/helpers#arrays.
简单的方法(点表示法):
$sum = $items->sum('Online.field');
更明确(回调):
或者,如果您想更明确,例如使用条件/过滤器:提供一个Closure
:
$sum = $items->sum(function($item) {
return $item->Online->sum('field');
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)