I am trying to create an offers forum, where some user can create their offers in order to provide their services and I want to show the name of the person that created that offer instead of the id.
In my database I have the two tables:
-
Offers table:
-
User table:
In offers I have a column of the professor_id, that is related to the id of users table.
This is what i have in my controller to show the offers:
public function ofertes(){
$ofertes = Oferta::all()->sortByDesc('id');
return view('create.ofertes')->with(compact('ofertes'));
}
and in the blade.php I have that code:
@foreach($ofertes as $oferta)
<tr>
<td>Nom : {{$oferta->professor_id}}</td> <br>
<td>Títol : {{$oferta->titol}}</td> <br>
<td>Descripció: {{$oferta->descripcio}}</td> <br>
<td>Data: {{$oferta->created_at}}</td> <br><br>
</tr>
@endforeach
and that is what is shown:
Where it says nom, how I can show the name instead of the id?
Thank you!
3
Answers
If you have specified the relationship to
professor
in your Oferta model you can use the following code:Your blade:
If you haven’t specified the relation you should add the following method to your Oferta model (you might need to tweak this a little bit based on your namespaces):
Join two table like
Then in place of
{{$oferta->professor_id}}
, replace{{$oferta->nom}}
Your problem should be solved
Very easy