/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request, $empresa_id) { try { $data = $request->json()->all(); $ciudad = Ciudad::find($data['ciudad']['id']); unset($data['ciudad']); $data_usuario = $data['usuario']; unset($data['usuario']); $usuario = Usuario::nuevo($data_usuario['nombre'], $data_usuario['contrasena'], $this->getRol()->id); $data['usuario_id'] = $usuario->id; $central = new Central($data); $central->ciudad()->associate($ciudad); if (!Empresa::find($empresa_id)->centrales()->save($central)) { return response()->json(['mensajeError' => 'no se ha podido almacenar el usuario'], 400); $usuario->delete(); } return response()->json($central, 201); } catch (\Exception $exc) { return response()->json(array("exception" => $exc->getMessage()), 400); } }