více podmínek where() použití AND a OR

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

čau V dokumentaci jsem se dočetl že více podminek where se spojuje AND

to znamena ze kdyz mam dotaz …->where(‚neco‘, ‚hodnota‘)->where(‚neco2‘, ‚hodnota2‘)

tak ze to bude SQL: …where neco = hodnota AND neco2 = hodnota2…
?

Jak tedy potom mam udelat kdyz chcu aby tam bylo OR
?
Díky

Domki
Člen | 310
+
0
-

Jo aha díky
a takze kdyz udelam toto >where(‚neco‘, ‚hodnota‘)->where(‚neco2‘, ‚hodnota2‘) tak to spojí pomoci and?

Nifty
Člen | 45
+
0
-

Ano.

AND:

$table->where('neco', $hodnota)->where('neco2', $hodnota2);

//nebo by taky mělo jít
$table->where("neco = ? AND neco2 = ?", $hodnota, $hodnota2);

OR:

$table->where("neco = ? OR neco2 = ?", $hodnota, $hodnota2);
Domki
Člen | 310
+
0
-

ok díkys

Marax
Člen | 28
+
0
-

A nebo:

$table->where(
	array('hodnota1' => $hodnota1,
	      'hodnota2' => $hodnota2,
	      'hodnota3 = ? OR hodnota4 = ?' => array($hodnota3, $hodnota4)
	      )
	);
`SELECT *
FROM `table`
WHERE (`hodnota1` = ?) AND (`hodnota2` = ?) AND (`hodnota3 ` = ? OR `hodnota4 ` = ?)`