Ho una domanda in mio controller:Yii2 ORDER BY per i dati relazionali in ActiveRecord
$model = Object::find()->where(['id' => $id])->with(['backups'])->one();
getBackups è una relazione hasMany(), in modo da $ modello ritorna diversi 'backup'.
Esiste un modo per ordinare i "backup"?
Ho provato quanto segue senza risultati (o errori):
$model = Object::find()
->where(['id' => $id])
->with(['backups' => function($query) {
$query->orderBy(['updated_at' => SORT_DESC]);
}])
->one();
Ho testato il codice e funziona correttamente (il secondo con la richiesta di callback di query). Provalo con la modifica della direzione dell'ordine (SORT_DESC, SORT_ASC): echo $ model-> backup [0] -> id. L'ID dovrebbe cambiare. altrimenti penserei che ci sia un solo backup in db. –
Ne darò un'altra occhiata. Grazie –
Ho 3 campi relazionali che mostrano sulla voce che sto guardando ora. Ho provato entrambe le opzioni di ordinamento e sto facendo eco all'id dei backup [0] come dici tu. Non riesco a ottenere risultati che cambiano:/ –