Oznámení
Omlouváme se, provoz fóra byl ukončen
Kombinace and a or operatoru
Upozornění: Tohle vlákno je hodně staré.
před 4 lety
- ali
- Člen | 280
Ahoj,
resim takovy delikatni problem, s kterym si nevim rady
mam dve pole s where podminkami
$filter[] = [["[first_app_user_id]>%i",0],["[reason]=%i",6]];
$filter[] = [["[first_app_user_id]>%i",0],["[from_1] IN (%i)",[1,2,3,4,5,6]]];
pole si posilam do metody, kde je pridam k datasource
public function ticketsDataSource($where=[])
{
$dataSource = $this->db->dataSource("SELECT * FROM [table] ORDER BY [date] DESC");
forEach($where as $conditions)
{
$dataSource->where("%and",$conditions);
}
return $dataSource;
}
Kdyz pouziju modifikator %and, tak se mi to prevede na cond11 AND cond12 AND
cond21 AND cond22
Kdyz pouziji modifikator (%and) tak se to prevede na (cond11 AND cond12) AND
(cond21 AND cond22)
Kdyz pouziji modifikator %or tak se mi to prevede na (cond11 OR cond12) AND
(cond21 OR cond22)
ale nenapada me, co udelat proto, aby podminka vypadala takto (cond11 AND cond12) OR (cond21 AND cond22)
před 4 lety
- Milo
- Nette Core | 1119
Zkus takhle:
$or = [];
foreach ($filter as $fil) {
$or[] = ['%and', $fil];
}
$dataSource->where('%or', $or);
před 4 lety
- ali
- Člen | 280
Perfect, diky moc funguje!