tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

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

vyskladanie zlozitejsieho order by

před 11 lety

edke
Člen | 198

Moje pole pre order vyzera takto:

<?php
$order= array (
    'field1' => 'asc',
    'field2' => 'desc',
);

?>

Je mozne nejako elegantne vyskladat query a hlavne cast order by ?

select * from "table"
  order by "field1" asc, "field2" desc

před 11 lety

David Grudl
Nette Core | 6806

Přidal jsem modifikátor %by:

$order = array(
    'field1' => 'asc',
    'field2' => 'desc',
);
dibi::test("
SELECT *
FROM [people]
ORDER BY %by", $order, "
");
// SELECT FROM `people` ORDER BY `field1` asc, `field2` desc

Kromě řetězců asc, desc lze použít i +1, -1 apod.

před 11 lety

edke
Člen | 198

Skvele, som myslel ze nieco podobne uz bude, len som to prehliadol. Necakal som, ze to budes kvoli mne dorabat. Vdaka. Stiahnute a integrovane, funguje to vyborne. Mozem teda znovu sortovat jednoducho podla viacerych stlpcov.