Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
j'ai eu un soucis avec la fonction distinct() pour le module Zend_Paginator
$where = $dbProduit->select()->distinct()->setIntegrityCheck(false) ->from(array('p' => 'produit'), array('id_produit', 'titre', 'ean', 'upc', 'reference_interne')) ->joinLeft(array('piri' => 'pro_int_rol_ins'), 'p.id_produit = piri.id_produit', array()) ->joinLeft(array('i' => 'intervenant'), 'i.id_intervenant = piri.id_intervenant', array()) ->where('titre LIKE ?', '%'. $word .'%') ->orWhere('reference_interne LIKE ?', '%'. $word .'%') ->orWhere('nom LIKE ?', '%'. $word .'%') ->orWhere('prenom LIKE ?', '%'. $word .'%') ->orWhere('EAN LIKE ?', '%'. $word .'%') ->orWhere('UPC LIKE ?', '%'. $word .'%'); $paginator = new Zend_Paginator( new Zend_Paginator_Adapter_DbSelect($where) );
$paginator me retournait bien le résultat mais affichait "0 résultat trouvé" donc la barre de changement de page ne s'affichait pas.
j'ai regarder dans le code source et j'ai remarqué qu'ils comptes dans le SQL avec COUNT(DISTINCT p.id_produit,p.ean,p.upc etc.. )
Hors COUNT(DISTINCT ..) ne retourne pas les lignes avec une valeur à NULL. hors j'ai dans ma table l'ean à null ou bien upc à null.
donc j'ai mis ces éléments non null dans ma base données, mais est ce qu'il y a une autre solution pour éviter de modifier ma base ?
Hors ligne
C'est qu'en même bien problématique cette façon de compter car obliger de mettre par défaut une valeur 0 pour les entiers et vide pour les varchar c'est pas très commode.
Hors ligne
Pages: 1