Ordre des commentaires par ID de publication
Dans Laravel, lors d'une itération dans une collection de modèles associés, il est souvent nécessaire de trier les résultats. Par défaut, les commentaires ne sont classés selon aucun critère spécifique, ce qui peut conduire à des résultats potentiellement non triés.
Pour classer les commentaires publiés par l'auteur d'une publication particulière en fonction de leur identifiant de publication, étendez la relation utilisateur-commentaire avec une requête. fonction dans le modèle utilisateur :
<?php public function comments() { return $this->hasMany('Comment')->orderBy('column'); } ?>
Remplacez "colonne" par le nom réel de la colonne de base de données par laquelle vous souhaitez trier. Cela garantira que les commentaires seront récupérés dans l'ordre spécifié lors de l'accès via la relation de commentaires dans le modèle Post.
Par exemple, pour classer les commentaires par ID de publication par ordre décroissant, utilisez :
<?php public function comments() { return $this->hasMany('Comment')->orderBy('post_id', 'DESC'); } ?>
Avec cette modification, la boucle foreach peut désormais être modifiée pour afficher les commentaires dans l'ordre souhaité :
<pre class="brush:php;toolbar:false"> foreach($post->user->comments as $comment) { echo "<li>" . $comment->title . " (" . $comment->post->id . ")</li>"; }
Cela affichera les commentaires dans le format suivant commande :
I love this post (3) This is the second Comment (3) This is a comment (5)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!