如何使用外键自定义 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
首先,每次我们登录 laravel,默认情况下用户 (table) 始终可以通过 Auth::user()[=28 访问=].
见下面 2 tables:
我的期望是,我希望所有这些(以下)在我登录后都可以全局访问。
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