Как настроить столбцы Auth :: user () с внешним ключом?Laravel - PullRequest
1 голос
/ 12 марта 2019

Во-первых, каждый раз, когда мы регистрируемся в laravel, по умолчанию пользователь (таблица) всегда доступен, просто используя Auth :: user () .

См. 2 таблицы ниже:
enter image description here Моя проблема в том, как добавить столбцы подписчика к пользователям (таблица), используя subscriber_id из таблицы пользователей в качестве внешнего ключа.

Я ожидаю , я хочу, чтобы все это (ниже) было доступно для всех после входа в систему.

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, но никто не помогает. Я бы хотел, чтобы кто-нибудь помог мне в этом.

Ответы [ 2 ]

4 голосов
/ 12 марта 2019

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

Установить отношение на модели Users.

Пример, для отношения один к одному:

public function subscriber()
{
    return $this->hasOne('App\Subscribers', 'id', 'subscriber_id');
}
0 голосов
/ 12 марта 2019

Я создал Subscriber.php (модель), состоящий из столбца выше, а затем я поместил ниже коды в моем User.php (модель):

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
...