Voici des exemples de données.
J'écris ci-dessous la requête pour récupérer les 10 enregistrements les plus récents.
ThreadMessagesModel::where("thread_id", $thread_id) ->orderBy("message_id", "desc") ->paginate(10);
Le problème est qu'il donne le résultat dans l'ordre inverse.
Mon jeu de résultats attendu allait du message id = 15 au message id = 24.
Mais, je passe actuellement du message id = 24 au message id = 15. il montre dans l'ordre inverse. Pouvez-vous suggérer quelque chose?
Voici Laravel éloquent de la requête.
SELECT * FROM `tblmessages` order by message_id desc limit 10
3 Réponses :
Les résultats sont affichés en sens inverse car l'ordre par se termine par desc
. Vous pouvez utiliser la requête suivante pour obtenir l'ID le plus élevé trié asc
ding`
SELECT * FROM `tblmessages` WHERE message_id IN ( SELECT message_id FROM `tblmessages` order by message_id desc limit 10 )
SELECT * FROM ( SELECT * FROM tblmessage ORDER BY message_id DESC LIMIT 10 ) main ORDER BY main.message_id;
Je pense que vous devriez exécuter la requête suivante.
Select * from ( SELECT * FROM `tblmessages` order by message_id desc limit 10 ) as a order by message_id
select * from (SELECT * FROM tblmessages order by message_id desc limit 10) order by message_id asc
Mon jeu de résultats attendu était du message id = 15 au message id = 24. Mais, je reçois actuellement du message id = 24 au message id = 15. Je voulais dire, il montre dans l'ordre inverse. Pouvez-vous suggérer quelque chose? Je ne comprends pas cela.