Как получить данные через внешний ключ в Laravel? - PullRequest
0 голосов
/ 14 апреля 2019

Как получить данные в Laravel.

У меня есть таблица user, в которой у меня есть поле parent_id , в котором отображается информация о user_id.

Теперь я хочу показать информацию о зарегистрированном пользователе

Я попробовал это

 {{Auth::user()->parent_id}}

Я получил выбранный parent_id, теперь я хочу имя этого user_id.

Я пытаюсь это

{{(Auth::user()->parent_id)->value('name')}}

Получается ошибка.Скажите, пожалуйста, как я могу написать это в своем коде, чтобы получить имя этого родительского идентификатора.

Ответы [ 2 ]

3 голосов
/ 14 апреля 2019

Определение отношения с родительским пользователем в модальном User.

Модальное пользовательское

public function parent()
{
    return $this->belongsTo(User::class, 'parent_id');
}

blade

{{ Auth::user()->parent->name }}
1 голос
/ 14 апреля 2019

Есть (как минимум) два способа сделать это.

1- Без связи: вы можете выбрать / найти пользователя по parent_id и получить его имя.Как то так:

{{ App\User::find(Auth::user()->parent_id)->name }}

2 - с отношением: и я думаю, что это проще.Определите отношение и установите parent_id в качестве внешнего ключа.Тогда вы можете получить родительский пользователь.Примерно так:

{{ Auth::user()->parentUser->name }} // parentUser is the method created in User model 

Чтобы определить и использовать отношения, смотрите ответ @Tharaka Dilshan.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...