Я пытаюсь заставить функцию «брать деньги у реферала» в контроллере, если условие выполнено. У меня есть виджет, который отображает сумму денег, заработанную рефералами, и кнопку «добавить в аккаунт» ниже. Мой код:
if($ref_money < 320) {
return [
'msg' => 'You need 320 coins on balance to take money',
'type' => 'error'
];
} else {
return [
'title' => 'You take '.$this->user->ref_money.' for refferals',
'success' => true,
];
}
Если на моем балансе меньше 320 (как написано в условии), и я нажимаю кнопку «забрать», я получил ошибку You need 320 coins on balance to take money
, но деньги добавляются к моему балансу в результате. Это почему? Ведь условие: если меньше 320, то не добавлять, а если больше, то добавлять.
РЕДАКТИРОВАТЬ:
Мой полный код функции :
public function ref_money()
{
$userid = $this->user->id;
$user = User::where('id', $userid)->first();
$ref_money = $user->ref_money;
User::where('id', $user->id)->update([
'money' => $user->money + $ref_money,
'ref_money' => $user->ref_money - $ref_money
]);
if($ref_money == 0) {
return [
'msg' => 'You don\'t money have refferals',
'type' => 'error'
];
}
if($ref_money < 320) {
return [
'msg' => 'You need 320 coins on balance to take money',
'type' => 'error'
];
} else {
return [
'title' => 'You take '.$this->user->ref_money.' for refferals',
'success' => true,
];
}
}