Bonjour amis de Grafikart :)
J'essaye de faire un blog.
Mon problème c'est que je n'arrive pas a lier des membres aux commentaires, je m'explique :
J'en suis à la partie ou quand je clic sur un article de mob blog, ça dirige vers une page où l'on peut lire l'article en entier.
Dans cette page représenté par ma fonction voir() dans mon PostsController, je voudrais donc lier trois tables qui sont les suivantes :
1 table users
1 table posts
1 tables comments
Pour que je puisse afficher dans ma vue voir.ctp
le pseudo de l'utilisateur lié au post affiché, les commentaires lié au post et pour finir, <u><strong>les users lié aux commentaires</strong></u>.
J'ai crée ces trois models
<?php
class Post extends AppModel{
public $belongsTo = array('Category', 'User');
public $hasMany = 'Comment';
}
?>
<?php
class Comment extends AppModel{
public $belongsTo = array('Post', 'User');
}
?>
<?php
class User extends AppModel{
public $hasMany = array('Comment', 'Post');
}
?>
Je pense pas m'etre trompé de ce coté là
Ensuite dans mon post controller j'ai écrit ça pour la fonction voir
<?php
function voir($id){
$this->layout = 'default';
$b = $this->Post->find('first', array('conditions' => array('Post.id' => $id)
));
$d = $this->Post->Comment->User->find('all', array('conditions' => array('User.id' => 'Comment.user_id')
)); //cette instruction je l'ai rajouté pour vous montrer ce que je tente de faire mais ça ne change rien que
//je la mette ou non.
$this->set('article', $b, $d);
}?>
Voila pour finir quand je fais un débug voilà ce qui va s'afficher, quasiment tout sauf les users lié aux commentaires c'est ca mon probleme
Array
(
[Post] => Array
(
[id] => 21
[titre] => Helper Mark it up
[contenu] => Ici le contenu de mon article.
[created] => 2011-12-14 18:24:01
[category_id] => 1
[user_id] => 21
)
[Category] => Array
(
[id] => 1
[titre] => Javascript
)
[User] => Array
(
[id] => 21
[username] => tapesec
[mail] => ******** @gmail.com
[password] => 6450618408daa4c956a2a18abc0d1720838f9341
[created] => 2012-01-05 07:16:13
[lastlogin] => 2012-01-14 08:14:42
[active] => 1
)
[Comment] => Array
(
[0] => Array
(
[id] => 3
[post_id] => 21
[user_id] => 21
[contenu] => Voici un premier commentaire
[created] => 2012-01-12 00:00:00
)
//j'aurai aimé afficher l'user auteur du commentaire
[1] => Array
(
[id] => 4
[post_id] => 21
[user_id] => 22
[contenu] => voici un seconde commentaire
[created] => 2012-01-12 00:00:00
)
//ici pareil
)
)