Propojení tabulek bez cizího klíče

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Oli
Člen | 1215
+
0
-

Zdravím, mám takovej dotaz. Jde nějak propojit dvě tabulky bez cizích klíčů? potřebuju to proto, že nevim s jakou tabulkou budu joinovat. Respektive můžu joinovat s jakoukoli tabulkou, kterou si vedu v tabulce dynamic. Mám id, které z dynamic vytáhne název tabulky a potom volám:

return $this->_db->query('SELECT * FROM `related`
            JOIN '.$database.' ON related.related_object_type_id = '.$database.'.id
            WHERE related.id = ?', $id)

což vrátí:

SELECT * FROM `related`
JOIN articles ON related.related_object_type_id = articles.id
WHERE related.id = ?

Problém je, že to nevrací žádné hodnoty. Když si dumpnu ten výsledek, co to vrátí tak tam žádný hodnoty nevidím. Možná tam „někde“ jsou, ale nepřišel jsem na to, jak se k nim dostat.

Díky za jakékoli postrčení. :-)

Oli
Člen | 1215
+
0
-

Zkusím se zeptat ještě jinak, je možné pomocí Nette propojit dvě tabulky bez cizího klíče?

Diky

ViPEr*CZ*
Člen | 817
+
0
-

Jestli si to dobře pamatuju, tak by to měla umět ConventionalReflection.

hrach
Člen | 1838
+
0
-

Pokud pouzivas metodu query na Nette\Connection, neni treba zadna *Reflection, protoze se spousti surovy dotaz na DB. Takze:

  • bud dany dotaz opravdu zadna data nenajde
  • nebo neumis dumpovat, metoda query ti samozrejme vraci objekt, ktery lze iterovat.
Oli
Člen | 1215
+
0
-

Díky, nakonec to bylo SQL dotazem, ktery me vracel jine id nazvu tabulky, nez jsem čekal. Pak to fungovalo bez problému.