Метод addMediaFromUrl() от spatie не работает
Я хочу использовать spatie для получения аватара Google+, но когда я пытаюсь получить его, возникает ошибка.
$user = Socialite::driver('google')->user();
$usertest=User::whereEmail($user->getemail())->first();
if(! $usertest){
$usertest=User::create([
'name'=>$user->name,
'email'=>$user->email,
'password'=>bcrypt($user->id)
]);}
$usertest->addMediaFromUrl($user->avatar)->toMediaCollection('avatar');
auth()->loginUsingId($usertest->id);
return redirect('/');
ошибка:
Ошибка типа: аргумент 1, передаваемый в Spatie\MediaLibrary\FileAdder\FileAdder::processMediaItem(), должен быть экземпляром Spatie \ MediaLibrary \ HasMedia \ HasMedia, экземпляр App \ User задан,
1 ответ
Похоже, вы еще не добавили HasMedia
интерфейс и HasMediaTrait
в User
учебный класс:
class User extends Authenticatable implements HasMedia {
use HasMediaTrait;
// ...
}