public function game_start($id) { $game = \App\Models\Game::find($id); $players = \App\Models\Game_User::where('game_id', '=', $id)->get(); $can_start = false; if ($game->min_players > $players->count()) { return redirect('games')->withWarning('Error, this game need more players to start.'); } if ($game->started) { return redirect('games')->withWarning('Error, this game is already started.'); } foreach ($players as $player) { if ($player->user_id == Auth::user()->id) { $can_start = true; } } $letters = \App\Models\Letter::all(); \DB::transaction(function () use($letters, $id) { foreach ($letters as $letter) { $inventory = new \App\Models\Inventory_Letter_Game(); $inventory->letter_id = $letter->id; $inventory->quantity = $letter->quantity; $inventory->game_id = $id; $inventory->save(); } }); $game->started = true; $game->save(); \Event::fire(new \App\Events\GameStart($id)); return redirect('gamejoin/' . $id); }