public function calcPoints() { //Get Tipps $tipps = Tipp::join('matches', 'tipps.match_id', '=', 'matches.id')->select('matches.id', 'matches.home_goals as erg1', 'matches.away_goals as erg2', 'tipps.*')->orderBy('date')->get(); //check points $count = count($tipps); for ($i = 0; $i < $count; $i++) { $points = 0; if ($tipps[$i]->home_goals === $tipps[$i]->erg1) { $points += 1; } if ($tipps[$i]->away_goals === $tipps[$i]->erg2) { $points += 1; } if ($tipps[$i]->home_goals - $tipps[$i]->away_goals === $tipps[$i]->erg1 - $tipps[$i]->erg2) { $points += 6; } if ($tipps[$i]->home_goals - $tipps[$i]->away_goals > 0 && $tipps[$i]->erg1 - $tipps[$i]->erg2 > 0) { $points += 4; } if ($tipps[$i]->home_goals - $tipps[$i]->away_goals < 0 && $tipps[$i]->erg1 - $tipps[$i]->erg2 < 0) { $points += 4; } if ($tipps[$i]->home_goals - $tipps[$i]->away_goals === 0 && $tipps[$i]->erg1 - $tipps[$i]->erg2 === 0) { $points += 4; } if ($tipps[$i]->home_goals === $tipps[$i]->erg1 && $tipps[$i]->away_goals === $tipps[$i]->erg2) { $points += 3; } if ($tipps[$i]->erg1 != null) { Tipp::where('id', $tipps[$i]->id)->update(['points' => $points]); } } return redirect('tipps'); }