1

我想使用 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('/');

错误:

类型错误:传递给 Spatie\MediaLibrary\FileAdder\FileAdder::processMediaItem() 的参数 1 必须是 Spatie\MediaLibrary\HasMedia\HasMedia 的实例,给定 App\User 的实例,

4

1 回答 1

2

看起来您还没有添加HasMedia接口和HasMediaTraitUser

class User extends Authenticatable implements HasMedia {

    use HasMediaTrait;

    // ...

}
于 2018-06-11T00:59:16.857 回答