Nejste přihlášen(a)
Zdravím,
mám dotaz, kde potřebuju řadit podle funkce. Když použiji modifikátor %by, tak mi to obalí celý název funkce do uvozovek, což nepotřebuji. Dá se to nějak vypnout, obejít?
Příklad:
<?php
$by = array (
'funkce(nazev_pole)' => 'ASC',
'jine_pole' => 'DESC'
);
dibi::test("SELECT * FROM table ORDER BY %by", $by);
// vysledek: SELECT * FROM table ORDER BY "funkce(nazev_pole)" ASC, "jine_pole" DESC
// potrebuji: SELECT * FROM table ORDER BY funkce(nazev_pole) ASC, "jine_pole" DESC
?>
Editoval Petr Tvaroha (2. 12. 2009 7:51)
Možná by mohlo fungovat tohle:
<?php
$by = array (
array('%sql', 'funkce(nazev_pole)') => 'ASC',
'jine_pole' => 'DESC'
);
?>
Editoval Ola (3. 12. 2009 16:12)
Tohle nefunguje. Pole nemůže být klíčem pole.
PT
Řešil jsem podobný problém na MySQL, pomohlo mi složení dotazu pomocí pole, viz http://forum.dibiphp.com/…funkci-field
Díky za odpověď. Asi to bude jediná cesta. S dibi teprve začínám, takže zkouším různé možnosti. Přes víkend jsem přišel na chuť DibiFluent a tam už si s tím nějak poradím.
V poslední verzi funguje:
<?php
$by = array (
array('funkce(nazev_pole) ASC'),
'jine_pole' => 'DESC'
);
?>
Díky, skvělý!