Nette\Database – and (xxx or yyy)

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

Jak v Nette\Database ud2l8m tento dotaz?

SELECT ... FROM user
WHERE (id = 1) AND (in <= '2013-07-17 16:57:52') AND ( (out is null) OR (out >= '2013-07-17 16:57:52'))

Jde mi to ten konec:
ADN (out je NULL || out je větší rovno než daný čas):

...->where( array( "uid" => $id, "in <= ?" => $date, ??? ) )
David Matějka
Moderator | 6445
+
0
-

asi to nepujde pripojit do toho array (v tom nejde zadat vice parametru), takze pripojit dalsi ->where asi takto:

->where('out ? OR out >= ?', NULL, $date)

v tvem pripade ale vlastne staci poslat jen jeden parametr, jelikoz NULL je konstantni, takze do toho arraye muzes pridat

...->where( array( "uid" => $id, "in <= ?" => $date, 'out IS NULL OR out >= ?'=>$date ) )
hrach
Člen | 1836
+
0
-
$selection
	->where('id', $id)
	->where('in <= ?', $datetime1)
	->where('out IS NULL OR out >= ?', $datetime2);