Nette\Database a NOT $selection

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

Trochu zápasím s následujícím selection:

<?php

			$contacts = $this->connection
				->table('TABULKA_A')
				->select('DISTINCT(contact_id), added')
				->where('contact_id NOT', $selectionZTabulky_B,
				->where('contact_id NOT', $selectionZTabulky_C);

?>

Poslední řádek where(‚contact_id NOT‘, $selectionZTabulky_C); je ignorován a výsledné selection je tedy větší, něž by mělo. Jde tuhle situaci nějak vyřešit? Iterovat $selectionZTabulky_B a $selectionZTabulky_C a tahat z toho pole ID do where pro selection $contacts mi přijde hrozně neohrabané.

// Edit: SQLBuilder provádí hash argumentů ve where. json_encode ze Selection vypadá vždy takto: „["contact_id NOT“,{}]". Na základě toho se podmínky vyhodnotí jako stejné a jedna se ignoruje, fakt nevím, jak z toho ven.

Editoval thunderbuff (13. 3. 2013 17:24)

Caine
Člen | 216
+
0
-

A tohle nejde?
->where('contact_id NOT IN ? AND contact_id NOT IN ?', $selectionZTabulky_B, $selectionZTabulky_C)

thunderbuff
Člen | 164
+
0
-

bohužel nejde. druhé selection je v sqlbuilderu vždy povážováno za duplicitní WHERE