Bonjour,
Je suis développe actuellement la partie commentaire d'un de mes projets, et je rencontre quelques difficultées du fait de la découverte récente des frameworks php de mon environnement de travail en général. C'est aussi là raison pour laquelle je préfere le faire sans plugin.
J'ai 3 model, User, Comment, Post
avec pour Post, un hasmany = Comment.
J'arrive à afficher correctement les commentaires et les ajouter dans la base de donnée via un petit form.
Cependant, dans ma table 'posts' j'ai ajouter une ligne prenant en compte le nombre de commentaire pour chaque post.
Je souhaiterai que lorsque j'ajoute un commentaire à un post, celà met à jour la table posts , et pas seulement un ajout dans la table comments.
J'ai vu qu'il y avait la fonction aftersave() qui pouvait s'en charger mais je ne comprends pas bien comment l'utiliser.
dans cette discussion, il propose une alternative mais il faudrait que je puisse, il me semble recuperer la valeur du champ 'comment_count' de la table posts pour ensuite lui ajouter 1. et je dois malheureusement mal m'y prendre puisque chacune de mes tentative echoue. J'arrive a récuperer cette valeur de champ, dansi ma vue. Mais je ne sais pas si je peux aussi le faire directement dans ma fonction addcomment ..
si celà peux vous aider à y voir plus clair:
//Controller/CommentsController.php
public function addcomment(){
if($this->request->is('post')){
$this->Comment->create();
if($this->Comment->save($this->request->data)){
$this->Session->setFlash(__('Le commentaire à bien été prise en compte.'));
return $this->redirect(array("controller"=>"quotes", "action"=>"index"));
}
$this->Session->setFlash(__('Il nous est malheureusement impossible de prendre en compte votre commentaire.'));
}
}
Auriez-vous des suggestions ?