Nefunkční cizí klíče v databázi

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

Dobrý den,

mám následují kus kódu:

foreach($db->table(‚kniha‘)->limit(5) as $Ikniha)
{
echo $Ikniha->autor->jmeno.‚<br>‘;
 }

a vytvořený klíč z tabulky kniha-autorID do tabulky autor-id a přesto mi to nechce fungovat.

Můžete mi, prosím, poradit?

Předem děkuji

Editoval tomasdohnal (2. 10. 2013 16:20)

David Matějka
Moderator | 6445
+
0
-
  1. koukni jak formatovat kod
  2. pouzivas discovered reflection? (v configu v database sekci, je defaultni, takze pokud neprepisujes reflection: conventional, tak je to ok)
  3. „nechce fungovat“ je co? co ti to pise?
tomasdohnal
Člen | 3
+
0
-

Ok, na formátování kódu jsem kouknul. Bohužel nevím, kde mám najít, jestli používám „discovered reflection“, ale nic takového jsem nepřepisoval, takže asi ne.
A k tomu, co mi to píše, totiž upřímně řečeno moc nevím, jak správně nastavit debugger, aby mi nevypisoval jen: Server Error We're sorry…
Jinak děkuji moc za pomoc

David Matějka
Moderator | 6445
+
0
-

pokud to mas na localhostu, tak by se debug mod mel detekovat sam a chyby by se tak mely vypisovat.
rucne to muzes udelat takto v bootstrap.php

$configurator->setDebugMode(TRUE);

(za radek, kde se vytvari konfigurator)

jinak se zprava s chybou uklada do slozky /log

tomasdohnal
Člen | 3
+
0
-

Upřímně řečeno jsem začátečník a moc nerozumím tomu, jak to vlastně funguje. Myslel jsem, že aby se mi hlásily chyby, potřebuji něco jako toto

use Nette\Diagnostics\Debugger;
    Debugger::enable();
Mysteria
Člen | 797
+
0
-

Otevři si soubor app/bootstrap.php a budeš tam mít něco jako:

<?php
require __DIR__ . '/../libs/autoload.php';
$configurator = new Nette\Configurator;
$configurator->enableDebugger(__DIR__ . '/../log');
$configurator->setTempDirectory(__DIR__ . '/../temp');
$configurator->createRobotLoader()
	->addDirectory(__DIR__)
	->addDirectory(__DIR__ . '/../libs')
	->register();
$configurator->addConfig(__DIR__ . '/config/config.neon');
$container = $configurator->createContainer();
return $container;

Tak za řádek

$configurator = new Nette\Configurator;

vlož

$configurator->setDebugMode(TRUE);