public function put($app, $id, $data) { $code = null; $beerService = $app[BeerServiceProvider::BEER_SERVICE](); $beer = $beerService()->find($id); if (!$beer) { return ['data' => ['data' => 'Essa cerveja existe?'], 'code' => 404]; } unset($data['created']); $breweryService = $app[BreweryServiceProvider::BREWERY_SERVICE](); $brewery = $breweryService()->find($data['brewery']['id']); $beer = new BeerEntity(); $beer->setFromArray($data); $beer->addBrewery($brewery); $response = []; $errors = $app['validator']->validate($beer); if (count($errors) > 0) { foreach ($errors as $error) { $response[] = ['data' => $error->getMessage()]; } return ['data' => $response, 'code' => 422]; } try { $data = $beerService->update($beer); } catch (Exception $e) { $code = 500; $data = $e->getMessage(); } return ['data' => $data, 'code' => $code ? $code : 200]; }
public function put($app, $id, $request) { $data = $request->request->all(); unset($data['created']); $repo = $app[BeerServiceProvider::BEER_SERVICE](); $beer = $repo()->find($id); if (!$beer) { return $app->json(['message' => 'Cerveja não encontrada'], 404); } $repo_brewery = $app[BreweryServiceProvider::BREWERY_SERVICE](); $brewery = $repo_brewery()->find($data['brewery']['id']); $beer = new BeerEntity(); $beer->setFromArray($data); $beer->addBrewery($brewery); $data = $repo->update($beer); return ['data' => $data, 'code' => 200]; }