Jméno z tabulky podle ID z jiné tabulky v modelu

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

Zdravím,

omlouvám se za matoucí název tématu, ale nevím, jak to stručně a výstižně popsat.

V šabloně foreachem vypisuji články, klasika. Potřebuji tam ale také vypsat jméno autora a v tabulce s články s mám uložené ID autora.

Já potřebuji udělat, aby mi funkce, která vrací ony články, vracela pole s články, ve kterém bude místo toho ID jméno.

public function getBlogPosts()
{
    # vrátí titulek, perex, id autora.. já potřebuji místo id autora jeho jméno
    # jméno autora je v tabulce users pod sloupcem username
    return $this->db->table('blogposts');
}
mkoubik
Člen | 728
+
0
-

Vycházím z toho, že máš sloupeček author_id a na něm cizí klíč do tabulky s autory.
Pak nemusíš tuhle funkci upravovat a při vypisování použij $blogPost->author->name, případně $blogPost->ref('author_id')->name, kde $blogPost je prvek toho „pole“.

Grelek
Člen | 233
+
0
-

Můžete mi prosím, uvést příklad?

Když to použiji v šabloně, hlásí mi to PDOException.

No reference found for $blogposts->author_id.

Jan Mikeš
Člen | 771
+
0
-

Musis mit urcene spravne cizi klice v databazi, nebo pokud pouzivas conventional reflection tak potom ti chybi tabulka s nazvem author

Grelek
Člen | 233
+
0
-

Moc děkuji.