Jak na nasledující SQL dotaz (join, where) v Nette\Database?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Caine
- Člen | 216
Zdravím, potřebuju udělat následující dotaz, ale nevim, jak to udělat přes Nette\Database? Vím, že se to dá udělat přes Connection->query přímo, ale dá se to udělat nějak jinak?
Toto potřebuju
$q = 'SELECT idCity, name FROM city JOIN offer USING (idCity) WHERE offer.deleted = 0 GROUP BY idCity';
A takto nějak bych si to představoval, ale to nefunguje:
Column not found: 1054 Unknown column 'offer.deleted' in 'where clause'
.
Nevim, jestli to je tím, že tam nejsou dodržený jmenný konvence (ale
používám DiscoveryReflection) a jak jsem pochopil (možná špatně:), pokud
se objeví tečka, tak se to automaticky propojí, každopádně takto ani se to
nepokusí si informace z db vytáhnout.
$q = self::getTable('city');
$q->where('offer.deleted', 0);
$q->group('idCity');
PS: používám aktuální verzi Nette z 29.1.