Odkazování v tabulkách pomocí cizích klíčů

- stemba
 - Člen | 20
 
Mám takový problém, vytvořil jsem si podle Quickstartu první aplikaci, vše funguje perfektně, ale pak jsem si vytviřl vlastní aplikaci, ale nefunguje mi odkazování mezi tabulkami. Mám tabulku books s údaji o knize a také je v ní sloupec author_id, který odkazuje pomocí cizího klíče na tabulku authors na sloupec author_id (primární klíč), ve které jsou údaje o autorech knih.
Struktura tabulky books
| Pole | Typ | Nulový | Výchozí | 
|---|---|---|---|
| book_id | int(11) | Ne | |
| title | varchar(50) | Ne | |
| author_id | int(11) | Ne | 
Struktura tabulky authors
| Pole | Typ | Nulový | Výchozí | 
|---|---|---|---|
| author_id | int(11) | Ne | |
| name | varchar(50) | Ne | 
Jako model jsem použil Nette/…/Selection a vytvořil službu v config.neon jako v Quickstartu. Při výpisu jsem použil tento kód:
Presenter:
$this->template->books = $this->context->CreateBooks();
Šablona:
{foreach $books as $book}
    {$book->title} {$book->authors->name}<br>
{/foreach}
Laděnka ale stále hlásí chybu: „No reference found for
$books->authors“
V databázi jsem použil tabulky InnoDB, nastavil indexy i cizí klíče, ale
stále nic.
Snažil jsem se postupovat podle quickstartu, ve kterém to stejným způsobem
funguje, ale zjevně dělám někde chybu.
Neměl bystě někdo nápad co s tím?
Díky

- nanuqcz
 - Člen | 822
 
Ahoj,
zkus při návrhu DB používat NotORM konvence (tzn. názvy tabulek jednotným číslem,
primární klíč má vždy název „id“) – tyto konvence používá
i Nette\Database. Podle mě se tím problém vyřeší.