Provázání tabulek pomocí spojovací tabulky
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- konva
- Člen | 88
Ahoj,
mám následující tabulky v databázi (pro zjednoduseni pisi jen dulezite
sloupce):
<?php
Main(mainId)
Clanek (clanekId=MainId)
Katalog (katalogId=MainId)
Soubor (souborId, MainId)
?>
Tabulka Main slouží jen jako generátor klíčů, tak aby záznam
v článku ani katalogu nikdy neměl stejné ID.
Tabulka Soubor poté uchovává soubory a odkazuje se na záznam v Clanek nebo
Katalog přes Main.
Neexistuje tedy přímá vazba Soubor->Katalog nebo Soubor->Clanek, ale je to Soubor->Main<-Katalog, Soubor->Main<-Clanek.
A jde mi o to jak získat soubory ke Clanku (resp. katalogu) když není
přímá vazba.
Protože toto nefunguje.
<?php
$clanek = $this->db->table('polClanek');
$clanek->Soubor->souborId;
?>
Ještě doplnění.
Tento dotaz
$clanek->ref('Soubor','clanekId')
provede toto
SELECT `souborId`
FROM `Soubor`
WHERE (`souborId` IN (238737, 238739, 238742, 238724, 238726))
ale já potřebuji toto
SELECT `souborId`
FROM `Soubor`
WHERE (`mainId` IN (238737, 238739, 238742, 238724, 238726))
díky
Lukáš
Editoval konva (24. 1. 2014 17:54)