2010-09-02 3 views
0

J'ai une requête en utilisant le comportement maîtrisable dans CakePHP qui ressemble à ceci:CakePHP, obtenant au total de lignes dans un maîtrisable

$x = $this->find('first',array('contain'=>array(
    'User' => array(
     'SelectionsTeam' => array('conditions' => $conditionTeamSelection, 
      'Team' => array(
         'fields' => array('name','city','id'), 
          'TeamsStat' => $condition, 
              ), 
      'PointsHistory' => array('fields' => array('points')) 
            ), 

    ), 
    'conditions' => array('id'=>$id) 
)); 

Everythings fonctionnent bien, mais la table PointsHistory-moi de revenir, par exemple 10 lignes avec 1 champ (points). Comment puis-je faire pour obtenir la somme de chacune de ces 10 lignes de points directement dans le conteneur. Parce que maintenant, je dois faire une foreach et faire la somme de chaque ligne de PointsHistory, ce que je pense que c'est évitable.

En finale, je voudrais avoir la table ressemble à ceci: [PointsHistory] => [Total] => 10

au lieu de:

[PointsHistory] => 
      [0] => 
        ['points'] 
          => 2 
      [1] => 
        ['points'] 
          => 1 
      [2] => 
        ['points'] 
          => 3 

etc.

Répondre

2

Je ne pense pas qu'il soit possible d'obtenir exactement

[PointsHistory] => [Total] => 10 

mais je crois que ce que vous cherchez est:

$x = $this->find('first',array('contain'=>array(
    'User' => array(
     'SelectionsTeam' => array('conditions' => $conditionTeamSelection, 
      'Team' => array(
         'fields' => array('name','city','id'), 
          'TeamsStat' => $condition, 
              ), 
      'PointsHistory' => array('fields' => array('SUM(points) total_points')) 
            ), 

    ), 
    'conditions' => array('id'=>$id) 
)); 

Le résultat sera quelque chose comme:

[PointsHistory] => [0] => [Total] => 10 

Je ne l'ai pas testé, donc changer le niveau de débogage à 2 et de voir quel code il générer :)

+0

savait que c'était quelque chose de simple . Merci. Fonctionne A1 –

Questions connexes