Unterstützt CodeIgniter Datamapper ORM eine MySQL CASE-Anweisung in ORDER BY-Klauseln?

Mit Datamapper 1.8.1-dev für PHPs CodeIgniter versuche ich, diese Abfrage zu erstellen, um einen Ländernamen ganz oben auf der Liste zu priorisieren:

SELECT * FROM countries
ORDER BY CASE name WHEN 'Australia' THEN 1 ELSE 2 END, name

PHP auf meinem Ländermodell (welches Datamapper erweitert):

$countries = new Country();
$countries->order_by("CASE name WHEN 'Australia' THEN 1 ELSE 2 END, name");
$countries->get_iterated();

Datamapper analysiert stattdessen "CASE" als Tabellennamen und erstellt dabei die folgende Syntaxfehlerabfrage:

SELECT * FROM (`countries`)
ORDER BY `CASE` name WHEN 'Australia' THEN 1 ELSE 2 END, `countries`.`name`

Ich gehe davon aus, dass der CASE-Fall nicht behandelt wird, da diese Flusssteuerungsanweisung gerade in MySQL 5 hinzugefügt wurde. Sind meine einzigen Alternativen, entweder eine hinzuzufügenorder_by Spalte zumcountries Tabelle oder eine PHP-Sortierfunktion nach dem Datenbankabruf verwenden?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage