Problém s databasi s reflection static
- zool
- Člen | 144
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)
- zool
- Člen | 144
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
Co se týká toho „Spojení přerušeno v prohlížeči“, tak řešení máš tady: https://forum.nette.org/…ows-riesenie