změna dibi na Nette\Database

- nanuqcz
- Člen | 822
fetchSingle() vrací jen jeden záznam (ne celý řádek),
takže přepis by myslím měl být nějak takhle (aby vrátil přímo počet
záznamů)
return $this->database->table('prispevky')->select('count(id) as count')->fetch()->count;
Ale s Nette\Database nedělám, tak mě kdyžtak opravte.
Každopádně způsob s ->count('id') bude ale asi
čistší.

- nanuqcz
- Člen | 822
Podle dokumentace
by tomu nemělo klíčové slovo as vadit. Možná vadí, že je
pojmenované count (zkus třeba
->select('count(id) as prispevkyCount')).
A když nepomůže, hoď sem jaký dotaz to vygenerovalo, a jakou chybu to píše ;-)

- rixi
- Člen | 109
xxxObiWan wrote:
return $this->database->table('prispevky')->select('count(id) as count')->fetch()->count;
tak som si to vyskusal. pokial AS napiseme velkymi pismenami,
tak to funguje bez problemov.
moznostou je aj pouzivat aj takyto krkolomny pristup bez aliasu
return $this->database->table('prispevky')->select('count(id)')->fetch->{"count(id)"};

- mulisano
- Člen | 8
HosipLan napsal(a):
Třeba pomůže http://sql-cross-queries.freexit.eu/dibi/nettedb/
Tak toto pomůže nejvíc, přesně to jsem se teď snažil prozkoumávat… :-)