NDBT: nekonzistentní having vs where

kolsi
Člen | 131
+
0
-

Je nějaký konkrétní důvod, že funkce where() a having() jsou vzájemně nekonzistentní?

1. parametry:
$sel->where(‚total_amount‘, $value); správně vytvoří „WHERE total_amount=$value“ (případně podle typu $value zvolí správný operátor)
$sel->having(‚total_amount‘, $value); vytvoří totální nesmysl „HAVING total_amount“ a hodnotu $value plácne až na konec SQL dotazu

2. skládání ->where()->where() připojuje pomocí AND, ale v případě ->having()->having() poslední nahradí ty předchozí.
Teď si např. chci v gridu nadefinovat více filtru pomocí having(), ale samozřejmě pak nejde aktivovat více filtrů najednou.