如何使用外键自定义 Auth::user() 列? Laravel

How to customize Auth::user() columns with foreign key? Laravel

首先,每次我们登录 laravel,默认情况下用户 (table) 始终可以通过 Auth::user()[=28 访问=].

见下面 2 tables:
我的难题 是,如何使用用户 table 的 subscriber_id 作为外键将订阅者的列添加到用户 (table)。

我的期望是,我希望所有这些(以下)在我登录后都可以全局访问。

Auth::user()->name
Auth::user()->age
Auth::user()->gender
Auth::user()->marital_status
Auth::user()->subscriber_id
Auth::user()->subscriber_name
Auth::user()->subscriber_status
Auth::user()->subscriber_created_at
Auth::user()->subscriber_created_at

我一直在 google 上寻找答案,但 none 有帮助。我希望有人能帮助我。

https://laravel.com/docs/5.7/eloquent-relationships

在用户模型上设置关系。

例如,对于一对一关系:

public function subscriber()
{
    return $this->hasOne('App\Subscribers', 'id', 'subscriber_id');
}

我在上面创建了 Subscriber.php(model) 组成的列,然后我在我的 User.php(model) 中放入了以下代码:

public function subscriber()
{
    return $this->hasOne('App\Subscriber', 'id', 'subscriber_id');
}

然后为了访问所有列,我做了这些:

Auth::user()->name
Auth::user()->age
Auth::user()->gender
Auth::user()->marital_status
Auth::user()->subscriber_id

Auth::user()->subscriber->id
Auth::user()->subscriber->name
Auth::user()->subscriber->status
Auth::user()->subscriber->created_at
Auth::user()->subscriber->updated_at