我有一个渴望加载关系查询。
$transactions = User::with(['point','children']->get();
现在,我要在数据表上添加一个过滤器。
->addColumn('total', function ($user) {
$sum = 0;
$filtered = $user->map(function ($user, &$sum) {
$find = $user->children->filter(function ($children) use ($user) {
return $children->id == $user->id;
});
$sum += $find->point->available;
return $sum;
});
return $sum;
})
如果有任何用户ID与子级ID匹配,则所有匹配的用户可用点值之和。
但是我收到此错误...
[15:22:58] LOG.error:BadMethodCallException:调用未定义的方法 App \ User :: map()
$user
是一个集合,每个用户都有很多孩子。