J'ai une relation laravel hasMany et je veux récupérer les 10 derniers commentaires d'une table et les classer par ordre décroissant. Voici à quoi ressemble ma table
id | user_id | comment_text
----------------------------------------------------------
1 30 foo
2 23 bar
3 17 hello
4 30 world
5 12 lorem
6 10 ipsum
7 17 dummy
Mes résultats devraient être
id | user_id | comment_text
----------------------------------------------------------
5 12 lorem
6 10 ipsum
7 17 dummy
Comment j'exécute la requête pour obtenir les résultats attendus
SELECT * FROM (
SELECT * FROM comments ORDER BY id DESC LIMIT 3
) sub
ORDER BY id ASC
Comment puis-je faire cela dans un modèle laravel ? Puis-je exécuter une sous-requête dans une relation ? Voici ma mise en œuvre jusqu'à présent
public function latestComments($limit = 3)
{
return $this->hasMany(Comment::class)
->orderByDesc('id')
->limit($limit);
}