2009-12-23 18 views
1

Je suis un peu nouveau sur cakePHP et arrive au moment où je dois faire de la pagination.CakePHP find ('threaded') pagination

La table des commentaires a un parent_id et la requête threadée fonctionne correctement alors maintenant, je veux paginer les résultats.

Mon problème est que la requête sql limitée affecte tous les commentaires récupérés et je veux seulement limiter les parent, car dans l'autre sens, il laisse des réponses hors de la requête.

J'espère que je serais clair et que vous pouvez m'aider.

Merci.

+1

J'ai peur de ne pas comprendre votre question. Veuillez clarifier la phrase «Mon problème est limité ...» et je ferai de mon mieux pour vous aider. Fournissez la structure de base du modèle (hasOne, etc.) et incluez la structure de matrice que vous attendez, ainsi que la structure de tableau qu'elle vous donne. Merci! –

+0

En limitant je veux dire que je veux limiter la requête à 10 résultats, mais cette limite affecte également les réponses. – ozzysong

Répondre

2

Utilisation:

var $hasMany = array(
      'ChildComment' => array(
        'className' => 'ProfileComment', 
        'foreignKey' => 'parent_id', 
        'conditions' => '', 
        'dependent' => true, 
        'fields' => '', 
        'order' => 'created ASC' 
      ) 
    ); 

     var $belongsTo = array(
      'ParentComment' => array(
        'className' => 'ProfileComment', 
        'foreignKey' => 'parent_id', 
        'conditions' => '', 
        'fields' => '', 
        'order' => '' 
      )); 

puis dans la trouvaille:

$comments = $this->User->ProfileComment->find('all', array(
       'limit' => $this->incNumber, 
       'offset' => $page*$this->incNumber, 
       'conditions' => array('ProfileComment.parent_id' => null, 'ProfileComment.user_id' => $id), 
       'order' => 'ProfileComment.created DESC' 
      )); 

Vous devez personnaliser le code de votre but, mais le point clé est les relations et que la condition de trouver a parent_id = nul. De cette façon, la limite affecte uniquement les parents

0

Vous avez probablement besoin de faire la requête pour seulement les parents (sujets?) Puis une autre requête pour chaque arbre ci-dessous.