Merhaba,
3 adet tablom var, bunları birbirine 2 farklı şekilde bağlayabildim. Hangisi daha uygun merak ediyorum. Yapmak istediğim şey hotel çalışanlarını listelemek.
Tablo yapısı şu şekilde;
users
-------
id
hotels
-------
id
relationships
-------------
id | user_id | hotel_id
1. Yöntem
Hotel.php
public function relationship()
{
return $this->hasMany(Relationship::class);
}
Relationship.php
public function employees()
{
return $this->hasMany(User::class, 'id', 'user_id');
}
HotelController.php
Hotel::where('id', $id)
->with('employees')
->with('relationship.employees')
->get();
2. Yöntem
Hotel.php
public function employees()
{
return $this->belongsToMany(User::class, 'relationships', 'hotel_id', 'user_id');
}
HotelController.php
Hotel::where('id', $id)
->with('employees')
->get();
İlk yöntemde relationships tablosundan id değeri gelirken 2. yöntemde gelmiyor mesela. Kısa olan kod daha makbul geldi ama ilişki yapılarında çok tecrübem olmadığı için yapmak istediğim şey için hangisi daha mantıklı ya da sonraki aşamalarda sorun yaşar mıyım bilemedim.