NDB, WHERE a generovani filtru
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- MW
- Člen | 626
Zdravím a prosím o radu:
Tvořím si u gridu filtr:
$filters = array();
foreach ($filter as $k => $v) {
if ($k == 'id') {
$filters[$k] = $v;
} elseif ($k == 'branches_id') {
$filters[$k] = $v;
} elseif ($k == 'since') {
$filters[$k . ' ' . $znakod . ' ? '] = "$v";
} elseif ($k == 'to') {
$filters[$k . ' ' . $znakdo . ' ? '] = "$v";
} elseif ($k == 'a') {
$filters['to'] = null;
$filters['to > ?'] = date('Y-m-d');
} else {
$filters[$k . ' LIKE ?'] = "%$v%";
}
}
$selection = $this->getInvoicesHistoryData($year)->where($filters);
a v jedne fazi:
elseif ($k == 'a')
potrebuju podminku sestavit s OR .. tedy hledam záznamy kdy zpati to IS NULL a zaroven je vetsi nez datum.
Poradí někdo prosim, jak to lze do selection podstrcit takto přes pole?
Moc dekuji!
- David Matějka
- Moderator | 6445
kdy zpati to IS NULL a zaroven je vetsi nez datum.
nechtel si rict misto „zaroven“ sluvko „nebo“? :)
zkus
$filters['to IS NULL OR to > ?'] = date('Y-m-d');