【发布时间】:2020-06-03 00:14:00
【问题描述】:
我是 laravel 的新手,正在尝试创建一个身份验证系统,用户可以在其中使用多个提供商登录/注册,并且每当用户使用任何提供商登录时,都必须相应地显示用户头像和个人资料数据。当使用Auth::user()->providers 时,结果是该用户的所有注册提供者的数组。
我想要的是仅获取当前登录方法的提供者数据(即本地帐户、Facebook 帐户提供者、谷歌帐户提供者等),以便我可以为用户显示来自该确切提供者的数据。
用户.php
...
public function providers()
{
return $this->hasMany("App\UserProvider");
}
...
UserProvider.php
class UserProvider Extends Model
{
protected $table = 'user_providers';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'user_id', 'provider', 'provider_id','avatar_url', 'token', 'token_secret',
];
}
请让我知道我的方法是否正确或是否有其他方法可以做到这一点。 谢谢!
【问题讨论】:
标签: php mysql laravel eloquent model