MySQL/PHP:Übergabeparameter zuerst anzeigen

tklustig

Erfahrenes Mitglied
Hallo Leute, folgende PHP-Methode liefert folgendes zurück.
Methode
PHP:
    public static function getPerson($fk, $IdBehaviour) {
        $nachname = Person::find(['nachname' => 'value'])->where(['id_person_art' => $fk])->orderBy(['nachname' => SORT_ASC])->asArray()->all();
        return yii\helpers\ArrayHelper::map($nachname, 'id', 'nachname');
    }
Rückgabewert:
Code:
Klein(Mitarbeiter)
Meyer-Schulze(Mitarbeiter)
Schwarz(Mitarbeiter)

Meine Frage ist nun folgende:
  1. Ist es möglich, eine orderBy-Klausel so aufzubauen, dass der Übergabeparameter als erstes angezeigt wird(soll heisen, derjenige Record, der den PK $IdBehaviour hat, soll als erstes angezeigt werden, alle anderen in beliebiger Reihenfolge danach - die Sortierung nach Nachnamen ist eigentlich uninteressant).
Bevor ich das Ganze rein auf PHP-Ebene umsetze, will ich abgeklärt haben, ob meine Intention bereits auf Datenbankebene umzusetzen ist, wobei ich denke, dass das prinzpiell nicht geht.Das Dumme ist nämlich, dass $IdBehaviour nicht der größte oder kleinste Wert sein muss, ich also nicht nach dem PK sortieren kann:confused:
Hier noch das MySQL-Pendant zur PHP-Methode
SQL:
SELECT nachname  FROM person WHERE id_person_art=3 ORDER BY nachname asc;
 
Zuletzt bearbeitet:
Es gibt schon Möglichkeiten, aber um ein Gefrigel wirst du nicht kommen. Der Union Befehl könnte dir dabei helfen.
 
Ich will,soll und darf keine SQL-Statements absetzen. Mir stehen ausschließlich die Statements des Frameworks zur Verfügung. Da habe ich zwar durchaus die Möglichkeit, einzelne Queries zu übergeben, gleichen die aber einem Gefrigel, wäre eine Lösung mit PHP wohl eleganter.
Damit hat sich das erledigt:Es geht prinzipiell, kommt aber einem Gefriegel gleich und ist somit keine Option. Schade eigentlich:(
 
Zurück