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)