public function update(ProfileRequest $request)
 {
     $values = [];
     foreach ($request->rules() as $field => $rules) {
         $values[$field] = $request->input($field);
     }
     Profile::loginProfile()->update($values);
     flash()->info('The profile has been updated');
     return redirect(route('home'));
 }
 public function updateShippingAddress(Request $request)
 {
     $profilerequest = new ProfileRequest();
     $validator = Validator::make($request->all(), $profilerequest->rules(), $profilerequest->messages());
     if ($validator->fails()) {
         return response()->json(['success' => false, 'errors' => $validator->errors()->toArray()], 400);
     }
     $mobile_no = $request->contact_no;
     $address = $request->address;
     $city = $request->city;
     $province_state = $request->province_state;
     $zip_code = $request->zip_code;
     $country = $request->country;
     $profileID = Auth::user()->profile->id;
     $profile = Profile::find($profileID);
     $profile->contact_no = $mobile_no;
     $profile->address = $address;
     $profile->city = $city;
     $profile->province_state = $province_state;
     $profile->zip_code = $zip_code;
     $profile->country = $country;
     $profile->save();
     return response()->json(['success' => true, 'message' => 'Profile Updated!'], 200);
 }