výpis 1 sloupce z databázové tabulky už v presenteru
- Zerig
- Člen | 70
Zdravím asi to snadné, ale nomhl jsem se k tomu dopátrat.
Mám databázi s tabulkou chapter, která má sloupce ID, bookID a name:
v presenteru vypisuji do proměnné chapter
$this->chapter = $this->orderRepository->query("SELECT * FROM `chapter` ORDER BY ID ASC")->fetchAll(); //vypisuje Hlavní kapitoly menu
ale do formulářového selectu
$form->addSelect('gender', 'Pohlaví', $this->chapter->name); // $this->chapter->name je blbě ale jak to formulovat.
Jak toto udělat v latte vím, ale potřebuji vypisovat jen sloupec name ž v presenteru.
Díky moc
- Zerig
- Člen | 70
ViPErCZ napsal(a):
Co takhle fetchPair namísto fetchAll?
Jako takto?
$this->chapter = $this->orderRepository->query("SELECT * FROM `chapter` ch LEFT JOIN `order` o ON ch.ID=o.subID WHERE (o.subID IS NULL) ORDER BY ID ASC")->fetchPair('name', 'name');
Tak to vypisuje chybu:
Call to undefined method Nette\Database\Statement::fetchPair()
a hlavně nevím co to fetchpair má udělat
Editoval Zerig (16. 10. 2013 17:58)
- hAssassin
- Člen | 293
... v presenteru vypisuji do proměnné chapter ...
V presenteru kde? V render nebo v action?
EDIT: navic bych to fetchnul pres ID, cili
...->fetchPairs(id, name);
Pak by to melo (nevim presne) vratit
pole kde je klicem id a hodnotou name (cili presne co bych ocekaval ze bude
v selektu.
Editoval hAssassin (16. 10. 2013 19:54)
- vvoody
- Člen | 910
Zerig napsal(a):
Pořád nevím jak, a fetchPairs ani fetchAll nefunguje.
Proč to nejde tak jako v latte?
Čo to je nefunguje? Ako ti má niekto poradiť keď ti to len nefunguje?
btw fetchPairs nad Statement nemá parameter
- Zerig
- Člen | 70
vvoody napsal(a):
Zerig napsal(a):
Pořád nevím jak, a fetchPairs ani fetchAll nefunguje.
Proč to nejde tak jako v latte?Čo to je nefunguje? Ako ti má niekto poradiť keď ti to len nefunguje?
btw fetchPairs nad Statement nemá parameter
Takže teď mám:
$this->chapter = $this->orderRepository->query("SELECT * FROM `chapter` ORDER BY ID ASC")->fetchPairs('name');
$form->addSelect('gender', 'Jméno', $this->chapter->name)
a vypisuje to:
SQLSTATE[HY000]: General error: PDO::FETCH_KEY_PAIR fetch mode requires the
result set to contain extactly 2 columns
- Zerig
- Člen | 70
vvoody napsal(a):
Ja neviem či si robíš srandu alebo čo, linkol som ti definíciu funkcie fetchPairs kde nieje žiadny parameter a ty ho tam stále cpeš. Ďalšia vec, ta exception ti jasne hovorí že v result sete musíš mať len dva stĺpce, ty si tam dal všetky stĺpce tabuľky.
Díky moc už jsem to pochopil.
TeĎ to vypadá takto:
$this->chapter = $this->orderRepository->query("SELECT ID, name FROM `chapter` ch LEFT JOIN `order` o ON ch.ID=o.subID WHERE (o.subID IS NULL) ORDER BY ID ASC")->fetchPairs();
$form->addSelect('gender', 'Pohlaví', $this->chapter);
- ViPEr*CZ*
- Člen | 818
vvoody napsal(a):
Ja neviem či si robíš srandu alebo čo, linkol som ti definíciu funkcie fetchPairs kde nieje žiadny parameter a ty ho tam stále cpeš. Ďalšia vec, ta exception ti jasne hovorí že v result sete musíš mať len dva stĺpce, ty si tam dal všetky stĺpce tabuľky.
No je to unbeleavable, když o x příspěvků dole dotyčný stále nezabrousil do dokumentace a nepodíval se ani na definici :-)