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… :-)