Nette database JOIN, dvě tabulky, nahrazení dvou idček nazvem z jiné tabulky

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

Mám problém s nette database, nevím jak přesně zde fungují joiny, a tak bych se rád zeptal co mám přesně zavolat, aby tabulka kterou budu mít dostupnou v template měla místo host_id a home_id název týmů.

Jedna je tabulka zápasů, kdo kdy s kým hrál kolik dal gólů atd. Druhá tabulka je jenom tabulka s id a názvem týmu.

Přikládám odkaz na dropbox kde jsou obě tabulky (screenshoot).

Dosud jsem volal dtb takto:

$matches = $this->database->table("matches")
                ->order("matchTime DESC");

Ale potřebuji nahradit idčka za ty jména.

V šabloně to pak vypadá následovně:

<table border='1'>
    <tr><td>Domácí</td><td>Hosté</td><td>Domácí gólů</td><td>Hosté gólů</td><td>Typ výhry</td><td>Skupina</td><td>Datum</td></tr>
    {foreach $matches as $match}
        <tr><td>{$match->host_id}</td><td>{$match->home_id}</td><td>{$match->homeGoals}</td><td>{$match->hostGoals}</td><td>{$match->winType}</td><td>{$match->group}</td><td>{$match->matchTime}</td></tr>
    {/foreach}

</table>

Tabulky (Screen): "":https://www.dropbox.com/…v/tables.jpg?dl=0

Předem všem děkuji za jakékoliv rady.

David Matějka
Moderator | 6445
+
0
-
Hadi.k
Člen | 12
+
0
-

Jistě že četl a několikrát. Avšak rozchodil sem to pouze na jedno z idček.

David Matějka
Moderator | 6445
+
0
-
$match->home->name;
$match->host->name;

a ujisti se, ze pouzivas innodb a mas spravne nastavene FK

Hadi.k
Člen | 12
+
0
-

Díky už to funguje :)