社交网站功能getId()正在运行,但数据库phpmyadmin中未添加id

问题描述 投票:0回答:1

我正在使用Laravel Socialite进行谷歌登录所有scoialite功能正常工作并且数据被添加到数据库(phpmyadmin),除了provider_id,其功能是getId(),它也工作正常但数据未插入Db。

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();
    }
laravel phpmyadmin laravel-socialite
1个回答
0
投票

'provider_id'必须是protected $fillable模型上的SocialProvider数组,如果你想将它在数组中传递给SocialProvider->create(...)

© www.soinside.com 2019 - 2024. All rights reserved.