Problém s databasi s reflection static

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

Nette 2.3.0. Ahoj mám menší problém s databásí.
mám dve tabulky jedna je stranky a druhá je stranky_pre
když položím dotaz a mám reflection: discovered

$this->stranky
            ->select('adresa, :stranky_pre.nazev, stranky.id')
            ->where(':um_entit.umisteni_id',1)
            ->where('stranky.stav',1)
            ->where('stranky.hloubka',1)
            ->where(":stranky_pre.jazyk.nazev",$this->translator->getLocale())
            ->order('stranky.levy');

tak mi to napíše No reference found for $stranky->related(stranky_pre)
kdzž dám reflection: static a ten stejný dotaz už to funguje, ale co nefunguje je že když zapomenu jeden sloupec v totazu třeba takto

$this->stranky
            ->select('adresa, :stranky_pre.nazev/*, stranky.id*/')
            ->where(':um_entit.umisteni_id',1)
            ->where('stranky.stav',1)
            ->where('stranky.hloubka',1)
            ->where(":stranky_pre.jazyk.nazev",$this->translator->getLocale())
            ->order('stranky.levy');
echo $this->stranky->fetch()->id;

Tak to celé spadne, server napíše spojení přerušeno a nic to nevrátí ani laděnku. Nevíte kde může být problém?? Jo a u nette 2.2.7 to funguje.

Jak to že v návodu
zde

mají dotaz

$selection = $context->table('author');
$selection->where(':book:book_tags.tag.name', 'PHP')
          ->group('author.id')
          ->having('COUNT(:book:book_tags.tag.id) > 0');

a funguje jim to i s conventions : DiscoveredConventions ?
Děkuji

Editoval zool (13. 3. 2015 15:28)

vvoody
Člen | 910
+
0
-

doplň štruktúru tabuliek

zool
Člen | 144
+
0
-
CREATE TABLE stranky
(
  id Int UNSIGNED NOT NULL AUTO_INCREMENT,
  id_parent Int UNSIGNED,
  hloubka Int UNSIGNED,
  adresa Varchar(80) NOT NULL,
  razeni Int DEFAULT 0,
  uvod Tinyint,
  obchod_pod Tinyint DEFAULT 0,
  akcni Tinyint DEFAULT 0,
  stav Tinyint,
  podkategorie Tinyint,
  datum Datetime,
  kontakt Tinyint,
  levy Double,
  pravy Double,
  id_poh Int,
 PRIMARY KEY (id)
);
CREATE INDEX id_parent ON stranky (id_parent);
CREATE INDEX adresa ON stranky (adresa);
CREATE INDEX levy ON stranky (levy);
CREATE INDEX pravy ON stranky (pravy);
CREATE INDEX id_poh ON stranky (id_poh);

CREATE TABLE stranky_pre
(
  id Int UNSIGNED NOT NULL AUTO_INCREMENT,
  stranky_id Int UNSIGNED,
  jazyk_id Int UNSIGNED,
  nazev Varchar(180),
  kratky Text,
  dlouhy Text,
  text_pod Text,
 PRIMARY KEY (id)
)
;
CREATE INDEX IX_Relationship127 ON stranky_pre (stranky_id);
CREATE INDEX IX_Relationship169 ON stranky_pre (jazyk_id);

ALTER TABLE stranky_pre ADD CONSTRAINT Relationship169 FOREIGN KEY (jazyk_id) REFERENCES jazyk (id) ON DELETE CASCADE ON UPDATE NO ACTION;
ALTER TABLE stranky_pre ADD CONSTRAINT Relationship127 FOREIGN KEY (stranky_id) REFERENCES stranky (id) ON DELETE CASCADE ON UPDATE NO ACTION;

Staci takto ?? Tabulky jsou typu innodb

Editoval zool (13. 3. 2015 17:06)

Mysteria
Člen | 797
+
0
-

Co se týká toho „Spojení přerušeno v prohlížeči“, tak řešení máš tady: https://forum.nette.org/…ows-riesenie

zool
Člen | 144
+
0
-

Super díky, ale stále to neřeší ten problém. Nechápu jakto, že jim ten příklad funguje i když mají DiscoveredConventions a mě ne :-(