Nette\Database spojení tří tabulek M:N:O

- michal.lohnisky
 - Člen | 64
 
Dobrý den,
mám následující databázi . Jsou zde 2 spojovací tabulky, abych dosáhl vztahu M:N:O a mohl mít pro každý pokoj vlastní datum příjezdu a odjezdu. Chtěl bych v šabloně pro všechny pokoje vypsat všechny rezervace, ke každé vypsat příjezd, odjezd, poznámku a jména všech ubytovaných zákazníků na daném pokoji.
Zatím mám jen:
<table class="rooms">
  <tr n:foreach="$rooms as $room">
    <th>
      {$room->name}
      {foreach $room->related('reservation_room') as $reservation_room}
        {$reservation_room->arrival}
      {/foreach}
    </th>
  </tr>
</table>
Jak se dostanu až k tabulce se zákazníky?

- JakubTN
 - Bronze Partner | 49
 
Nestacilo by stlpec guest_id z tabulky reservation_room_guest hodit do tabulky reservation_room?
Usetril by si jednu tabulku.
A v sablone potom:
<table class="rooms">
  <tr n:foreach="$rooms as $room">
    <th>
      {$room->name}
      {foreach $room->related('reservation_room') as $reservation_room}
        {$reservation_room->arrival}
	{$reservation_room->guest->firstname}
	...
      {/foreach}
    </th>
  </tr>
</table>
					Editoval JakubTN (31. 7. 2012 16:46)

- michal.lohnisky
 - Člen | 64
 
Příjez a odjezd je pro celý pokoj stejný, takže když bych to udělal, musel bych tato data duplikovat do každého záznamu.

- vvoody
 - Člen | 910
 
<table class="rooms">
	<tr n:foreach="$rooms as $room">
		<th>
		{$room->name}
		{foreach $room->related('reservation_room') as $reservation_room}
			{foreach $reservation_room->related('reservation_room_guest') as $reservation_room_guest}
				{? $guest = $reservation_room_guest->guest}
				{$guest->firstname}
				{$guest->surname}
			{/foreach}
		{/foreach}
		</th>
	</tr>
</table>
ale bojim sa ze budes mat tento problem, ak hej tak skus https://github.com/…-refactoring je to myslim 2.1dev s db fixami Hracha.
Btw guest bude kazda jedna ubytovana osoba? Len ci dobre chapem tu strukturu databaze.
Editoval vvoody (31. 7. 2012 18:16)