2010-12-22 4 views
8

Dans mon magasin magento j'essaie de récupérer une liste de vidéos youtube à partir d'une table DB, certaines vidéos sont en double.Filtre collection Magento mais pas de produits, en utilisant distinct

Je suis à la recherche de filtrer les vidéos en utilisant la « valeur » vidéo distincte, mais ne peut pas Seam trouver toutes les informations sur l'utilisation distincte avec addFieldToFilter()

// get video collection 

$collection = Mage::getModel('video/video')->getCollection(); 
$collection->addFieldToFilter('provider', 'youtube'); 

// filter by video value 

$collection->addFieldToFilter('value')->distinct(true); 

En supprimant $collection->addFieldToFilter('value')->distinct(true); cela fonctionne, mais récupère tous les vidéos.

Répondre

25

Vous pouvez essayer ceci:

$collection->getSelect()->distinct(true); 

mais cela récupérer des valeurs distinctes basées sur ID. Si vous souhaitez récupérer des vidéos en utilisant des valeurs vidéo distinctes, vous devez regrouper par "valeur".

$collection->getSelect()->group('value'); 

Si vous voulez déboguer la requête exécutée:

$collection->getSelect()->__toString(); 

Hope this helps

+0

Fabrizio ... tu me fais sourire. Vous le faites paraître si facile, cela fonctionne parfaitement et même je peux comprendre ce que vous avez expliqué. Je vous remercie. – Colin009

Questions connexes