NDBT – Jak zapsat u selectu as ‚nazev_sloupce‘
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- vymak
- Člen | 92
Ahoj,
Začínám s NDBT a narazil jsem na jeden problém a nevím jak jej
vyřešit.
Chci zapsat tento dotaz:
return $this->db->table(\Table::DOTAZNIK)
->select('AVG(kvalita_produktu) as kvalita_produktu')
->select('AVG(kvalita_sluzeb) as kvalita_sluzeb')
->select('AVG(ceny) as ceny')
->select('AVG(uroven_jednani) as uroven_jednani')
->select('AVG(obsah_sortimentu) AS obsah_sortimentu')
->select('AVG(hodnoceni_webu) as hodnoceni_webu')
->fetch();
Ale při pokusu o získání výsledků to vyhodí chybu:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right syntax to use near '`kvalita_produktu`,
AVG(`kvalita_sluzeb`) `as` `kvalita_sluzeb`, AVG(`ceny`) `as' at line 1
A vygeneruje tenhle dotaz do DB:
SELECT AVG(`kvalita_produktu`) `as` `kvalita_produktu`, AVG(`kvalita_sluzeb`) `as` `kvalita_sluzeb`,
AVG(`ceny`) `as` `ceny`, AVG(`uroven_jednani`) `as` `uroven_jednani`, AVG(`obsah_sortimentu`) AS
`obsah_sortimentu`, AVG(`hodnoceni_webu`) `as` `hodnoceni_webu`
FROM `dotaznik`
Vím, že bych to mohl jednoduše zapsat přes query(), ale chci to zapsat takhle (pokud to půjde) :)
- David Matějka
- Moderator | 6445
„AS“ velkyma pismenama.. to, co je malyma se povazuje za nejaky identifikator a escapuje se to