Функция Socialite getId () работает, но идентификатор не добавляется в базу данных phpmyadmin - PullRequest
0 голосов
/ 26 апреля 2019

Я использую Laravel Socialite для входа в Google, все функции scoialite работают нормально, и данные добавляются в базу данных (phpmyadmin), за исключением provider_id, функция которого getId () также работает нормально, но данные не вставляются вДб.

public function handleProviderCallback()
    {

        try{
            $socialUser = Socialite::driver('google')->user();

        }catch(Exception $e){
            redirect('/');

        }
        $socialProvider = SocialProvider::where('provider_id', $socialUser->getId())->first();
        if(!$socialProvider){
            //create new user
            $user = User::firstOrCreate(
                ['email' => $socialUser->getEmail()],
                ['name' => $socialUser->getName()]

            );


            $user->socialProviders()->create(
                ['provider_id' => $socialUser->getId() , 'provider' => 'google']
            );
        }
        else{

            $user = $socialProvider->user;
        }

        auth()->login($user);
         return redirect('/home');
        //return $socialUser->getId();
    }

1 Ответ

0 голосов
/ 26 апреля 2019

'provider_id' должен быть массивом protected $fillable в модели SocialProvider, если вы хотите передать его в массиве SocialProvider->create(...).

...