/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { DB::beginTransaction(); $request['role'] = 'volunteer'; $result = $this->register($request); $value = $result->getData(); if (property_exists($value, 'error')) { return $result; } else { $volunteer = new Volunteer(); $volunteer['userId'] = $value->result->id; $volunteer['contactNumber'] = $request->input('contactNumber'); $volunteer['firstname'] = $request->input('firstname'); $volunteer['lastname'] = $request->input('lastname'); try { $volunteer->save(); } catch (\Exception $e) { DB::rollback(); return response()->json(['error' => ['message' => 'Error while saving Volunteer' . $e, 'code' => 400]]); } DB::commit(); $finalResult['id'] = $value->result->id; $finalResult['token'] = $value->result->token; return response()->json(['result' => $finalResult]); } }