Laravel, деление на ноль

#laravel

#laravel

Вопрос:

Я пытаюсь получить процент игроков, которые вышли из системы во время игры, поэтому у меня ошибка: деление на ноль. По стандарту в игре 0 участников, 0 вышедших игроков. В блейде: {{ $withTotal }} , в контроллере

 $withTotal = $this->getWithPerc();
return view('pages.crash', compact('withTotal'));
  
 private function getWithPerc()
    {
      $withUsers = CrashBets::where(['round_id' => $this->game->id, 'status' => 1])->count();
      $NowithUsers = CrashBets::where(['round_id' => $this->game->id, 'status' => 0])->count();
      $totalUsers = $withUsers   $NowithUsers;
      $next1 = $totalUsers / 100;
      $next2 = $withUsers / $next1;
      return $next2;
    }
  

Подсчет количества участников и тех, кто вышел из игры, начинается после размещения ставок в игре. Итак, после этого я получаю эту ошибку. Как я могу это исправить? Спасибо, ребята 🙂

Комментарии:

1. Не делите на ноль. Если $next1 равно 0, то верните 0, иначе разделите, как вы уже сделали.

2. Спасибо! Это была глупая ошибка xD

Ответ №1:

вы можете проверить, не равен ли $next1 нулю, прежде чем выполнять вторую операцию: вот решение:

 private function getWithPerc()
{
  $withUsers = CrashBets::where(['round_id' => $this->game->id, 'status' => 1])->count();
  $NowithUsers = CrashBets::where(['round_id' => $this->game->id, 'status' => 0])->count();
  $totalUsers = $withUsers   $NowithUsers;
  $next1 = $totalUsers / 100;

   if($next1 == 0) 
       return 0;

  $next2 = $withUsers / $next1;
  return $next2;
}
  

Комментарии:

1. Большое вам спасибо!