1

I have two controller the first one has a register method:

public function register(Request $request)
{
    $generalTrait = new GeneralTrait;
    $user = new User;
    $user->email = $request->email;
    $user->password = bcrypt($request->password);
    $user->type = $request->type;
    $user->save();
    return $generalTrait->returnData('user',$user);
}

and the second also has register method:

public function register(Request $request)
{
    $generalTrait = new GeneralTrait;

    $user = (new UserAuthController)->register($request);
    $admin = Admin::create([
         'admin_name' => $request->admin_name,
         //'user_id' => $response->user->user_id,
         'user_id' => $user_id
    ]);
    //Admin created, return success response
    return $generalTrait->returnSuccessMessage('Admin created successfully');
}

when I try to get data from (JsonResponse) $user I find this error:

ErrorException: Undefined property: Illuminate\Http\JsonResponse::$user

returnDate method in GeneralTrait return:

public function returnData($key, $value, $msg = ""){
    return response()->json([
        'status' => true,
        'errNum' => "5000",
        'msg' => $msg,
        $key => $value

    ]);
}

I find same Error when I try to get the status from the $response How can I fix it?

Rama Re
  • 11
  • 1

1 Answers1

0

I fix it by replacing returnData with:

public function returnData($key, $value, $msg = ""){
return [
    'status' => true,
    'errNum' => "5000",
    'msg' => $msg,
    $key => $value

];}

so to get user_id from user I said:

'user_id' => ($response["user"])->user_id

I wish I knew what my mistake was, and how I could have fixed it some other way

Rama Re
  • 11
  • 1