UpdateOrCreate не может обновить один столбец - PullRequest
0 голосов
/ 19 декабря 2018

Я кодирую Facebook Войти через Laravel / Socialite.

Я использую UpdateOrCreate в функции обратного вызова, поэтому, если пользователь не существует, Laravel создаст новую запись, в противном случае обновит некоторые данные в существующей.

public function handleProviderCallback()
    {
        $user = Socialite::driver('facebook')->stateless()->user();

        $key_token = $user->token;
        $key_fb = $user->getId();        
        $name = $user->getName();      
        $email = $user->getEmail(); 
        $url_photo = $user->getAvatar();   

        $user = User::updateOrCreate(
            [
                'email' => $email
            ],
            [   
                'name' => $name,
                'key_fb' => $key_fb,
                'url_photo' => $url_photo,
                'ḱey_token' => $key_token,
                'date_lastlogin' => \Carbon\Carbon::now(),
            ]
        );

        Auth::loginUsingId($user->id);
        return redirect('home');
}

Но, будьте обновлением или созданием, ключ-ключ никогда не вставляется / обновляется.Mysql показывает значение по умолчанию, Null.Другие столбцы работают нормально.

Я проверил значение key_token и его заполнение во всех контекстах.Кроме того, массив $ fillable User Model содержит «key_token».

protected $fillable = [
        'name', 'email', 'password', 'key_fb', 'url_photo', 'date_lastlogin', 'key_token',
    ];

Я также запустил фактическую строку (полученный токен от FB) вместо $ key_token, но key_token продолжает заполняться значением Null.

(...)

 'url_photo' => $url_photo,
 'ḱey_token' => "IjasIJ937Jdsi823KJAndksu.......",
 'date_lastlogin' => \Carbon\Carbon::now(),

(...)

При отображении $ user (из возврата UpdateOrCreate) значение для key_token равно Null

Что делать, чтобы вставить / обновить key_token?

...