Select z DB s obráceným where

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

Zdravím vespolek.
Jde nějak udělat dotaz do DB s podmínkou where (nebo podobnou), kdy by ten dotaz fungoval „obráceně“?
Příklad:

$this->model->getNeco()->where('select' != mimo_toto);

prostě aby to vypsalo všechny hodnoty, které nemají určité value u buňky select.

Když to přirovnám k podmínce tak by to bylo:

if($select != "mimo_toto") { //... vypíše všechno kromě mimo_toto
}

Snad mě někdo pochopí…

ricco24
Člen | 141
+
0
-

Jednoducho

$this->model->getNeco()->where('field <> ?', 'hodnota');

Alebo keď sa field nemá rovnať viacerým hodnotám

$this->model->getNeco()->where("NOT field", array("x", "y"));

Editoval ricco24 (20. 4. 2012 21:00)

nanuqcz
Člen | 822
+
0
-

Ahoj, podle mě by mělo fungovat

$database->table('table_name')->where('foo != ?', $bar);
h4kuna
Backer | 740
+
0
-

Rellik napsal(a):

$this->model->getNeco()->where('select' != mimo_toto);
$this->model->getNeco()->where("select != ?", $mimo_toto);

Tak?

nebo

$this->model->getNeco()->where("sloupec NOT IN (select mimo_toto)");

Editoval h4kuna (20. 4. 2012 21:00)

Rellik
Člen | 104
+
0
-

Díky. Použil sem hned to první řešení a funguje to… :-)
Nikdy sem tuto možnost nepoužíval, tak sem si nebyl jistý jestli to jde a hlavně jak, a při hledání sem nic nenašel…

Tomáš Votruba
Moderator | 1114
+
0
-

Rellik napsal(a):

Díky. Použil sem hned to první řešení a funguje to… :-)
Nikdy sem tuto možnost nepoužíval, tak sem si nebyl jistý jestli to jde a hlavně jak, a při hledání sem nic nenašel…

Příště by ti toto mohlo pomoci