/** * Update the specified resource in storage. * * @param int $id * * @return Response */ public function update($id) { $rules = ['slot' => 'Integer', 'memory' => 'Integer|Min:128|Max:10240', 'status' => 'Required', 'ip' => 'Required', 'port' => 'Integer|Min:1024|Max:65534|Required', 'displayName' => '', 'user' => 'Required|Exists:users,id']; $v = Validator::make(Input::all(), $rules); if ($v->passes()) { $user = User::find(Input::get('user')); $game = Game::find(Input::get('game')); /** @var Gameserver $gameserver */ $gameserver = Gameserver::findOrFail($id); $gameserver->fill(Input::all()); /** @var GameserverIp $ipport */ $ipport = $gameserver->ipport; if ($gameserver->ipport->ip->id != Input::get('ip')) { $ipport->ip()->associate(Ip::findOrFail(Input::get('ip'))); $ipport->save(); } if ($gameserver->ipport->port != Input::get('port')) { $ipport->port = Input::get('port'); $ipport->save(); } $gameserver->user()->associate($user); if ($gameserver->game->id != $game->id) { $gameserver->game()->associate($game); } $gameserver->save(); return Redirect::action('GameserverController@index'); } else { return Redirect::action('GameserverController@update', $id)->withErrors($v->getMessageBag()); } }
public function edit($id) { return View::make('admin.ip_edit', ['ip' => Ip::findOrFail($id)]); }