2017-11-27 2 views
0

Ich habe folgende Modelle und Controller.Laravel Eloquent: Wie ID mit Namen ersetzen

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 

der obige Code retursn

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

der Name Person der Berichterstattung ist Yadav und dieser Name ist in Tabelle users, wie ich die Berichterstattung Person id 35 zu nennen Yadav in Sicht ersetzen

+0

Haben Sie versucht, '{{$ Report-> name}}'? –

+0

Wie wäre es mit {{$ report-> reporting-> name}}? –

+0

Versuch, Eigenschaft von Nicht-Objekt zu erhalten (View: G: \ xampp \ htdocs \ Verwaltung \ resources \ views \ users.blade.php) –

Antwort

1

Nach unserer Diskussion

In users Tabelle zwei Spalten id, name und in reportings Tabelle Sie haben user_id, reporting

Nun ist diese

in Ihrer Berichtstabelle hinzufügen
public function user() 
{ 
    return $this->belongsTo(User::class, 'reporting'); 
} 

Dann innerhalb Sie Ihrer Ansicht nach Eltern foreach fügen Sie diese

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

Es gibt nur die Spalte user_id in der Tabelle reports not name; Der Name ist in Benutzer Tabelle –

+0

Ich habe meine Antwort aktualisiert bitte überprüfen –

+0

Versuchen, Eigenschaft von Nicht-Objekt (View: G: \ xampp \ htdocs \ hrmanagement \ Ressourcen \ views \ users.blade.php) –