get(['id', 'rebate_rate', 'rebate_rate_contract'])); //用于获取返佣率 $parents_com_rate = collect(User::getParents($user_id)) ->map(function ($v) use ($agents) { $user = $agents->where('id', $v)->first(); $rate_default = $user->rebate_rate; // 默认汇率 $rate_contract = $user->rebate_rate_contract; // 合约汇率 return [ 'aid' => $v, 'rebate_rate' => $rate_contract ?? $rate_default, ]; })->toArray(); // 开始创建分佣记录数据 for ($i = 0; $i < count($parents_com_rate); $i++) { $this_agent = $parents_com_rate[$i]; $pre_agent = $parents_com_rate[$i - 1] ?? []; $pre_rate = $pre_agent['rebate_rate'] ?? 0; $this_rate = ($this_agent['rebate_rate'] - $pre_rate); $parents_com_rate[$i]['rebate'] = $this_rate * $amount; $parents_com_rate[$i]['user_referrer'] = $parents_com_rate[0]['aid']; //用户上级代理 } return $parents_com_rate; } }