Bonjour,

Ce que je fais

DataModel:

public $useTable = 'data'; public $belongsTo = array('Account' => array('classeName' => 'Account', 'foreignKey' => 'compte'));

DataController:

$accounts = $this->Account->find('all', array('order'=>array('name'=>'asc'), 'conditions'=>array('etat' => '1')));

Data.index.ctp

<div class="container">around <h3>BG-Money > Grand-Livre > Résumé</h3>aroundaround <table class="table table-condensed">around <tr>around <th>Désignation du compte</th>around <th>Type de compte</th>around <th>N° de compte</th>around <th>Solde</th>around <th>Nombre d'opérations</th>around </tr>around <?php foreach ($accounts as $cpt): ?>aroundaround <tr>around <td><?php echo $cpt['Account']['name']; ?></td>around <td><?php echo $cpt['Account']['type']; ?></td>around <td><?php echo $cpt['Account']['numero']; ?></td>around <td>Solde</td>around <td></td>around </tr>around <?php endforeach; ?>around </table>around</div>

Ce que je veux

ce que je cherche à faire :
j'ai une table "Account" et une table "Data"

ce que je cherche c'est de compter toute les ligne Data par Account :

Ce que j'obtiens

Je ne sais pas comment faire pour compter les ecriture de "Data" par "Account"

8 réponses


bagheera
Auteur
Réponse acceptée

j'ai trouver la solution avec : https://www.grafikart.fr/formations/cakephp/associations-model

merci pour votre aide pour ce qui est de Teamviever je n'aurais jamais donné accès a ma machine de production

Salut,

Que te retourne la requête
$accounts = $this->Account->find('all', array('order'=>array('name'=>'asc'), 'conditions'=>array('etat' => '1'))); ?

Je n'ai pas vraiment saisie la demande ... compter toute les lignes Data par Account ? pourquoi ne pas utiliser la fonction COUNT() dans ta requête ?

Autre chose qui m'interpelle c'est la valeur de ton ForeignKey ! Ce n'est pas plutôt account_id ?

Il faut grouper par account, puis faire un count

bagheera
Auteur

ok et comment je dois faire ça ?

As-tu teamviewer poru que je puisse regarde ça ?

Bonjour.

As-tu teamviewer poru que je puisse regarde ça ?

@Mehdikacim: Pourrais-tu s'il te plaît arréter de demander aux membres auxquels tu réponds à leur sujet de faire une connexion via TeamViewer ?
Si tu as besoin de code ou autre tu le demandes directement ici, ce n'est pas bien de vouloir aller farfouiller dans les machines des autres comme ça à la moindre occasion.

tu as regarder du côté du behavior countercache? je pense çela peut résoudre ton problème elle fonctionne pour les tables liers et te ferais gagner en temps