Bonjour à tous,
J'ai un problème avec le tuto, j'ai beau le suivre je n'arrive pas à avoir plus d'un niveau :
$this->loadModel('Commentaire');
$comments = $this->Categorie->find(array(
'ordre' => array(
'id_commentaire' => 'ASC'
)
));
$comments_by_id = [];
foreach($comments as $comment){
$comments_by_id[$comment['id_commentaire']] = $comment;
}
foreach($comments as $k => $comment){
if($comment['parent_id'] != '0'){
$comments_by_id[$comment['parent_id']]['children'][] = $comment;
unset($comments[$k]);
}
}
var_dump($comments_by_id);
die();
Voici ma base
INSERT INTO `commentaire` (`id_commentaire`, `message`, `parent_id`) VALUES
(1, 'Comm 1', 0),
(2, 'Comm', 0),
(3, 'SComm de 1', 1),
(4, 'SComm de 1', 1),
(5, 'SSComm 1 1.1', 3);
Vous avez des idées car je suis perdu ?
Merci d'avance
Non le problème venait juste du fait que je sors les commentaires en FETCH_ARRAY et non en FETCH_OBJ
Bonsoir.
Il te manque un champ, qui si je ne me trompe pas, se nomme depth, permettant de désigner la profondeur du commentaire.
Car dans l'affichage des commentaires, il y a cette partie de code :
<?php if($comment->depth <= 1): ?>