Oznámení
Dibi 2.1.0 formáty polí a operátory
před 6 lety
- holantomas
- Backer | 56
Zdravím,
můžu se zeptat pro operátor %by, nedoplňuje „GROUP BY“ když se na nic
jiného použít nedá? Přijde mi to trochu chaotické s dibi dělám
poslední 3 měsíce a přijde mi divné, že jeden operátor jako %lmt nebo
%ofs toto doplňují a %by ne, stejně jako LIKE. Místo jedné proměnné
která se dosazuje za %~like~ nebo jiné varianty by mohlo být pole.
$arg = array("sloupec" => "hledaná hodnota");
$connection->query("[...] WHERE [foo] = 'bar' AND %~like~", $arg);
//Výsledek [...] WHERE `foo` = 'bar' AND [sloupec] LIKE %hledaná hodnota%;
Pokud jsem tuto funkčnost přehlédl, nebo to má dobrý důvod tak se omlouvám nejsem na úrovni kdy bych mohl říct, že DIBI nebo SQL umím i pozpátku(umím jen to co jsem do teď potřeboval).
před 6 lety
- Milo
- Nette Core | 1119
Modifikátory %lmt
a %ofs
jsou vyjímečné v tom,
že vyjádření LIMIT a OFFSET se v různých datbázích liší. PostgreSQL a
MySQL, vs. Oracle a MSSQL… Použitím těchto modifikátorů se „zaručí“
přenositelnost SQL dotazu, protože se doplní správné klauzule na správná
místa v dotazu.
Oproti tomu %like
a %by
pouze formátují hodnotu.
Třeba mě to takhle vyhovuje, protože nemusím přemýšlet, zda bude LIKE
operátor doplněn anebo ne.
před 6 lety
- holantomas
- Backer | 56
Milo napsal(a):
Modifikátory
%lmt
a%ofs
jsou vyjímečné v tom, že vyjádření LIMIT a OFFSET se v různých datbázích liší. PostgreSQL a MySQL, vs. Oracle a MSSQL… Použitím těchto modifikátorů se „zaručí“ přenositelnost SQL dotazu, protože se doplní správné klauzule na správná místa v dotazu.Oproti tomu
%like
a%by
pouze formátují hodnotu. Třeba mě to takhle vyhovuje, protože nemusím přemýšlet, zda bude LIKE operátor doplněn anebo ne.
Jistě jde celkem o blbost, ale také DIBI je tu hlavně o tom zjednodušit vývojáři práci, tak jsem si říkal, jaký je důvod proč toto neimplementovat. :)