Bonjour à tous, J'ai crée un controller PostsController et un CommentsController l'un qui soccupe des cillets de mon blog l'autre des commentaires. J'ai lié mes 2 models avec $hasMany et $belongsTo et j'ai 2 soucis : Je ne sais pas comment faire pour récupérer le nombre de commentaires par post.** J'aimerais qu'un visiteur puisse ajouter un commentaire depuis le controller Post et l'action View sachant que j'ai crée un controller Comments et l'action Add.** Merci d'avance à tous ceux qui m'aideront.
<?php echo $this->Form->create('Comments',array('action'=>'add')); ?>
Le premier paramètre indique le modèle à utiliser, puis dans le array tu indique l'action.
Dans ce cas, remplit le avec la valeur du post actuel, je crois que c'est comme ceci :
<?php echo $this->Form->input('post_id',array('type'=>'hidden','value'=>$post'Post']'id'])); ?>
Je suis encore une brêle en cake2 mais voila comment je ferrai:
Pour compter un find count avec la condition que post_id = $id ou id=$id. Je sais pas faut test.
Du genre: $this->Comment->find('count', array('conditions' => array('post_id' => $id)));
Pour ajouter ta function de add() de ton controller comment tu dois charger le model comment dans post avec un truc du genre $this->loadModel('Comment');.
voila une piste ;) .
J'ai déjà réalisé ce que tu souhaites faire en faite, il faut déclarer un formulaire sur le modèle comment dans ta vue.
Il me faut une dernière chose comment je peux récupérer l'id du post dans le formulaire ?
normalement elle est fournit avec, après c'est dans $this->request->data, fait un debug et tu le verra sans doute, si il n'y ai pas, rajoute dans ton modèle de formulaire un champ post_id et il te le mettra automatiquement, tu n'auras plus qu'a compléter ta vue.
Justement j'ai un champ post_id en hidden mais il est vide quand je fait un debug de request->data le post_id est null...