2010-04-29 2 views

Répondre

0

Oui, vous êtes right.You devrait obtenir des données dans le contrôleur, puis l'afficher dans la view.And ce que vous décrivez dans votre question est exactement comme le example in the cookbook .Assume vous avez raconté puis avec Post hasMany Comment, vous pouvez trouver le compte utilisant:

$comment_count = $this->Post->Comment->find('count',array('conditions'=>array('Comment.post_id'=>$postid))); 
3

Une autre option est de cache your count. Avec cette approche, vous souhaitez ajouter le champ comment_count à votre posts table, puis modifiez votre cette association de modèle belongsTo comme Comment:

class Comment extends AppModel 
{ 
    var $belongsTo = array(
     'Post' => array('counterCache' => true) 
    ); 
} 

Chaque fois qu'un nouveau Comment enregistrement est créé, le comment_count du associé Post enregistrement est incrémentée et décrémenté chaque fois qu'un Comment associé est supprimé.

Questions connexes