Sélectionnez uniquement des champs spécifiques dans Magento
Je suis en train d'utiliser la fonction MAX de MySQL pour récupérer les dernières dates de ma table.
$_updates = Mage::getModel('ticket/updates')->getCollection();
$_updates->getSelect()->columns('MAX(created) as max_created')->group(array('status_id'));
C'est la requête:
SELECT `main_table`.*, MAX(created) AS `max_created` FROM `em_ticket_updates` AS `main_table` GROUP BY `status_id`
Le problème avec cela est que si tous les champs sont inclus (main_table.*
) il ne fonctionne pas correctement.
Est-il un moyen de supprimer main_table.*
à partir de la requête et utiliser uniquement des domaines particuliers?
Grâce.
Vous devez vous connecter pour publier un commentaire.
Zend astuce peut être utilisée ici.
REMARQUE:
Pour EAV collection, vous aurez à ré-ajouter le
entity_id
ou vous allez avoir une erreur lors de la collecte est chargéMagento fournir addFieldToSelect() fumctionality. L'utilisation de code ci-dessous pour obtenir de domaine spécifique.
$Collection->addFieldToSelect(array('field_1', 'field_2');
Je reconnais que c'est un vieux post, mais je pensais que je poste une solution de rechange.
J'ai eu un problème similaire moi-même, j'ai finalement cherché par le biais de la source jusqu'à ce que j'ai atteint
Zend_Db_Select
Après consultation de la Zend Documentation (Exemple 8).