как сделать Многоуровневая реферальная система с начислением ? Laravel
Делать начисление от рефералов
с 1-й линии 1%,
2-я линия 0.5%,
3-я линия 0.25%
user_id = id того кто пригласил эту реализация готова (когда пользователь регистрируется по ссылке в user_id ставится id того кто его пригласил)
Таблица users:
id user_id name balance
1 null Jon 100
2 1 Mike 50
3 2 Robbi 300
4 3 Sonny 2000
Вопрос: как грамотно начислять проценты когда к примеру пользователь пополнил счет?
к примеру, пользователь "Sonny" регистрируется по ссылке "Robbi" соответственно получает "родительский user_id = 3" теперь когда "Sonny" пополняет счет на 2000 тогда "Sonny" является 1 уровнем для "Robbi" , 2 уровнем для "Mike" 3 уровнем для "Jon" то
"Robbi" должен получить с 1-й линии 1%, 2000/100 * 1 = 20$
"Mike" должен получить с 2-й линии 0,5%, 2000/100 * 0.5 = 10$
"Jon" должен получить с 3-й линии 0,25%, 2000/100 * 0.25 = 5$
Связь один ко многим у User может быть много users
class User{
/**
* Return users
*
* @return HasMany
*/
public function users(): HasMany
{
return $this->hasMany(User::class);
}
}