Databaze select where in count

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
frances
Člen | 24
+
0
-

Zdravím mám tady drobný dotaz na Database pokouším se vypsat všechny kategorie ve kterých je zařazena alespoň 1 nabídka:

$this->context->createKategorie()->order('nazev ASC')->where('typ','mesto')->where('id_kategorie','nabidky:id_mesto')

Snažím se na to jít přez cizí klíč a join který směřuje z tabulky nabídky z atributu id_mesto na tabulku kategorie id_kategorie. Můžete mě navést v čem je problém?
Díky za rady.

vvoody
Člen | 910
+
0
-

Naco stale vsetci pouzivaju tie joiny ked ich netreba :D ukladaj si v tabulke kategorii bool hodnotu ci kategoria ma/nema nejaku ponuku.

ViPEr*CZ*
Člen | 813
+
0
-

Nejsem si jist, ale nestačilo by místo dvojtečky dát tečku?

frances
Člen | 24
+
0
-

Bohuzel to mi ten join neudela. Nenapada vas neco? chci proste jednoduse osetrit situaci kdy nechci vypsat kategorii ve ktere nejsou zadne data sparovane prez cizi klice…
Diky

vvoody
Člen | 910
+
0
-

Nebude stacit nieco taketo?

{if $kategoria->related('nabidka')->count('*') > 0}
	...
{/if}
frances
Člen | 24
+
0
-

To bohuzel takto nejde resit vypisuju to rovnou do formu ty data a potrebuju jednoduchy join.
Jinak take jsem neprisel na to jak se dela nerovno !=, nebo NOT IN
where(‚nazev != ?‘, $form->values->nazev)
potrebuju omezit vlozeni polozky tak aby se nevkladalo neco co uz v databazi je…