Laravel Eloquent: как заменить идентификатор на имя

У меня есть следующие модели и контроллер.

User.php

public function reporting()
{
return $this->hasMany('App\Reporting','user_id','id');
}

RegisterController.php

public function viewUsers()
{

$users = User::with('reporting')->get();

return view('users',compact('users'));
}

users.blade.php

@foreach($users as $user)
<tr>
<td>{{$user->name}}</td>
<td>
@foreach($user->reporting as $report)
{{$report->reporting}}
@endforeach
</td>
</tr>
@endforeach

приведенный выше код повторяется

name                                  Reporting Person
========================================================
Ankur /*gets from user table*/          35 //gets from reporting table

имя сообщающего лица — Yadav, и это имя указано в таблице пользователей. Как заменить идентификатор сообщающего лица 35 на имя Yadav в представлении

0

Решение

Согласно нашей дискуссии

В users таблица у вас есть две колонки id, name а также
в reportings стол у вас есть user_id, reporting

Теперь добавьте это в свою таблицу отчетов

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

Тогда, по вашему мнению, внутри вас родительский foreach добавить это

@foreach ($report->user as $reportinguser)
{{ $reportinguser->name}}
@endforeach
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]