Relations entre différentes tables
Bonjour à tous,
Je continue dans ma liste de questions Laravel au niveau des relations entre différentes tables.
J'arrive à établir une relation hasMany tant au niveau du controlleur que de la vue.
Exemple dans mon modèle House, une maison à plusieurs réservations (booking):
Code:
1 2 3 4 5 6 7 8 9
|
class House extends Model
{
public function bookings()
{
return $this->hasMany('App\booking');
}
} |
Dans mon controlleur :
Code:
1 2 3 4 5 6 7 8 9
|
public function index()
{
$bookings = House::find(1)->bookings;
return view('admin/bookings.index', compact('bookings'));
} |
Dans ma vue :
Code:
1 2 3 4 5 6 7 8
|
@foreach ($bookings as $booking)
<tr>
<td>{{ $booking->house->name }} </td>
<td>{{ $booking->arrival }}</td>
</tr>
@endforeach |
Par contre là où je ne comprend pas comment faire c'est lorsque j'ai plusieurs relations de tables à afficher dans ma vue.
Par exemple une réservation (booking) appartient à un client (customer).
Je dois donc créer une relation belongsTo dans le modèle Booking comme ceci:
Code:
1 2 3 4 5 6 7 8 9 10
|
class Booking extends Model
{
public function customer(){
return $this->belongsTo('App\Customer');
}
} |
Mais comment dois-je faire pour l'intégrer dans mon controleur à ceci ? :
Code:
1 2 3 4
|
$bookings = House::find(1)->bookings;
return view('admin/bookings.index', compact('bookings')); |
Merci pour votre aide ;)