首页 > 解决方案 > 用脸书登录

问题描述

在我的代码中,我检查用户表中的帐户状态是否为 1,然后显示用户的详细信息。默认情况下,帐户状态的值为 1。当我运行该条件不起作用的代码时。这是我的代码。请帮忙。提前致谢。

public function signInFacebook(SignInFacebookUser $request)
{
    if($profile_picture = $request->hasFile('profile_picture')) {
        $profile_picture = time().'.'.$request->profile_picture->getClientOriginalExtension();
        $request->profile_picture->move(public_path('Storage/ProfileImages'), $profile_picture);
        $profile_picture = 'Storage/ProfileImages/'.$profile_picture;
    } else {
        $profile_picture = NULL;
    }

    try {
        $user = User::updateOrCreate([
            'facebook_id' => $request->input('facebook_id'),
        ],
        [
            'name' => $request->input('name'),
            'surname' => $request->input('surname'),
            'date_of_birth' => $request->input('date_of_birth'),
            'email' => $request->input('email'),
            'city' => $request->input('city'),
            'university' => $request->input('university'),
            'profile_picture' => $profile_picture,
        ]);

    } catch (QueryException $e) {
            $errorCode = $e->errorInfo[1];          
        if($errorCode == 1062){
            return response()->json(['message' => 'Duplicate Entry']);
        }
    }

    $token = JWTAuth::fromUser($user);

    if($user->account_status == 1) {
        $userDetail = $user->where('id', $user->id)->first();
        return response()->json(['token' => $token, 'user' => $userDetail], 200);
    } 
    else {
        return response()->json(['message' => 'you are not active on app, contact to support team'], 200);
    }
} 

标签: laravel

解决方案


这是我在代码中所做的更改,它有效。

public function signInFacebook(SignInFacebookUser $request)
{
    if($profile_picture = $request->hasFile('profile_picture')) {
        $profile_picture = time().'.'.$request->profile_picture->getClientOriginalExtension();
        $request->profile_picture->move(public_path('Storage/ProfileImages'), $profile_picture);
        $profile_picture = 'Storage/ProfileImages/'.$profile_picture;
    } else {
        $profile_picture = NULL;
    }

    try {
        $user = User::updateOrCreate([
            'facebook_id' => $request->input('facebook_id'),
        ],
        [
            'name' => $request->input('name'),
            'surname' => $request->input('surname'),
            'date_of_birth' => $request->input('date_of_birth'),
            'email' => $request->input('email'),
            'city' => $request->input('city'),
            'university' => $request->input('university'),
            'profile_picture' => $profile_picture,
        ]);
    } catch (QueryException $e) {
            $errorCode = $e->errorInfo[1];          
        if($errorCode == 1062){
            return response()->json(['message' => 'Duplicate Entry']);
        }
    }

    if(!$user) {
        return response()->json(['message' => 'failed to signin with facebook'], 200);
    }

    $userDetail = $user->where('id', $user->id)->first();

    if ($userDetail->account_status == 1) {
        $token = JWTAuth::fromUser($user);
        return response()->json(['token' => $token, 'user' => $userDetail], 200);
    } else {
        return response()->json(['message' => 'you are not active on app, contact to support team'], 200);
    }   
}

推荐阅读