Affichier nombre de produit devaént chaque catégories

Par agencep, il y a 10 ans


Bonjour,

j'aimerais ajouter le nombre de produits devant chaque categorie comme l'image ci-dessous est ce possible ?

6 réponses

agencep, il y a 10 ans

@Forever :: je ne veux pas utiliser du code SQL, avec le SQL je me débrouille très bien. je veux rester dans le native cakePhp.

tleb, il y a 10 ans

Salut,

Il faudrait un peu plus d'info pour pouvoir t'aider, mais j'imagine que tes données viennent d'une bdd donc tu peux utiliser la fonction COUNT()+WHERE.

agencep, il y a 10 ans

@Grag : J'ai essayer le counterCache et ca na rien donne et d'ailleur voici l'instruction :

$cats = $this->Category->find('threaded', [ 'conditions' => [ 'online' => 1, 'parent_id' => NULL ], 'contain' => ['Ad'] ]); public $hasMany = [ 'Ad' => [ 'counterCache' => true, 'conditions' => ['Ad.online' => 1] ] ];

@Forever justement je veux que ça soit dans une seule instruction SQL.

tleb, il y a 10 ans
SELECT name, COUNT(id) FROM products WHERE category_id = 1

Tu devrais visiter un peu ce site, on dirait que tu as des lacunes en SQL. :)

Lartak, il y a 10 ans

Bonjour.

J'ai essayer le counterCache et ca na rien donne et d'ailleur voici l'instruction

Il ne te faut pas oublier de :

  • Ajouter le champ pour le counterCache
  • Modifier les enregistrements concernés (le counterCache s'incrémente lors de l'ajout/modification d'enregistrements)
  • Si tu as spécifié des champs précis dans ta requète SQL de récupération des données, vérifies qu'il ait bien le nom de ton champ concernant le counterCache, par exemple : product_count
  • Ne pas oublier également bien sûr, le champ lors de l'affichage sur ta vue .ctp.

Bref, donnes nous un peu plus de précisions.

agencep, il y a 10 ans

@Lartak: Merci pour ta réponse, tu m'as mis sur une bonne piste ...