Как присвоить истинное значение условия переменной вне условия if else в laravel? - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь присвоить какое-то значение переменной с именем $bonus в условиях if-else, а затем пытаюсь вызвать $bonus вне условия if-else, поэтому переменная истинного условия должна вызываться автоматически.Я пробовал этот код, но он выдает ошибку в режиме отладки laravel

Ошибка:

Неопределенная переменная: бонус

Код:

<?php
if ($data->lend_amount >= 50 && $data->lend_amount <= 500) {
    $bonus = ($data->lend_amount * 4) / 100;
} else if ($data->lend_amount >= 500 && $data->lend_amount <= 50000) {
    $bonus = ($data->lend_amount * 5) / 100;
}

if ($user_b_update) {
    Transaction::create([
        'user_id' => $data->user_id,
        'trans_id' => rand(),
        'time' => Carbon::now(),
        'description' => 'Matching Bonus Of ' . $bvp . ' Users',
        'amount' => $bonus,
        'new_balance' => $newacc_bal,
        'new_earning' => $newbal,
        'type' => 4,
        'charge' => 0
    ]);
}

1 Ответ

2 голосов
/ 27 сентября 2019

Вы должны определить $bonus

$bonus = 0;

if ($data->lend_amount >= 50 && $data->lend_amount <= 500) {
  $bonus = ($data->lend_amount * 4) / 100;
} else if ($data->lend_amount >= 500 && $data->lend_amount <= 50000) {
  $bonus = ($data->lend_amount * 5) / 100;
}

или установить значение по умолчанию в последнем блоке else

if ($data->lend_amount >= 50 && $data->lend_amount <= 500) {
  $bonus = ($data->lend_amount * 4) / 100;
} else if ($data->lend_amount >= 500 && $data->lend_amount <= 50000) {
  $bonus = ($data->lend_amount * 5) / 100;
} else {
  $bonus = 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...