tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

Podmínky %if

před 10 lety

Krejča
Člen | 1
+
0
-

Zdravím,

podmínky v klasických situacích fungují skvěle, v tomto se však ignorují:

dibi::query('
SELECT ...
FROM ...
%if', $strankovat, '%lmt', 5, '%end'
);

Prostě pokud je v podmínce %lmt, nefunguje to – jediné jak to obcházím je napsat natvrdo

%if', $strankovat, ‚LIMIT 5 %end‘

před 10 lety

David Grudl
Nette Core | 6790
+
0
-

Ano, to nefunguje, protože limit a offset se vkládá jiným způsobem (modifikátory mohou být umístěny v podstatě kdekoliv). Dá se to řešit takto:

dibi::query('
SELECT ...
FROM ...
%lmt', $strankovat ? 5 : NULL
);