Ich habe eine Abfrage in meinem Controller:Yii2 ORDER BY für relationale Daten in Active
$model = Object::find()->where(['id' => $id])->with(['backups'])->one();
getBackups eine hasMany ist() Beziehung, so $ Modell gibt mehr 'Backups'.
Gibt es eine Möglichkeit, die 'Backups' zu bestellen?
Ich habe das versucht folgende ergebnislos (oder Fehler):
$model = Object::find()
->where(['id' => $id])
->with(['backups' => function($query) {
$query->orderBy(['updated_at' => SORT_DESC]);
}])
->one();
Ich habe Ihren Code getestet und es funktioniert gut (der zweite mit Abfragebestellungsrückruf). Teste es mit wechselnder Reihenfolge (SORT_DESC, SORT_ASC): echo $ model-> backups [0] -> id. Id sollte sich ändern. sonst würde ich denken, dass es nur eine Sicherung in db gibt. –
Ich werde es mir noch einmal ansehen. Danke –
Ich habe 3 relationale Felder, die auf dem Eintrag zeigen, den ich gerade beobachte. Ich habe beide Sortieroptionen ausprobiert, und ich wiederhole die ID von Backups [0], wie Sie sagen. Ich kann keine wechselnden Ergebnisse erhalten:/ –