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
+
0
-

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.

ViPEr*CZ*
Člen | 817
+
0
-

Jestli to dobře vidím, tak by tam měl být takto sloupec offer_id v city tabulce.

Caine
Člen | 216
+
0
-

Takže je to jen o tý konvenci u prim. klíčů?