Come selezionare l'ultimo record (che sta avendo MAX(id)
) dalla tabella?
dichiarazione successiva funziona bene, ma seleziona il primo record:Selezionare l'ultimo record nella tabella
$statistics = SystemStatisticsHistory::findOne(1);
Come selezionare l'ultimo record (che sta avendo MAX(id)
) dalla tabella?
dichiarazione successiva funziona bene, ma seleziona il primo record:Selezionare l'ultimo record nella tabella
$statistics = SystemStatisticsHistory::findOne(1);
per ottenere il modello con max id
è possibile applicare l'ordine inverso e limitare a uno.
SystemStatisticsHistory::find()->orderBy(['id' => SORT_DESC])->one();
Un'altra opzione è quella di usare subselect con max
in questo modo:
SystemStatisticsHistory::find()
->where(['id' => SystemStatisticsHistory::find()->max('id')])
->one();
Ci sono alcune sfumature utilizzando ultima opzione, controllare this question.
È possibile controllare la documentazione per max()
here.
Personalmente preferisco usare la prima variante.
Per ottenere il primo record, è sufficiente modificare la direzione dell'ordine a SORT_ASC
nella prima query e max()
a min()
nella seconda query.
P.S. con codice hard id
è una cattiva pratica.
Grazie! Funziona! – MaksimK
Felice di aiutare. Segna la risposta come accettata in questo caso. – arogachev