2014-06-12 2 views
2

Je reçois l'erreur suivante -incorrect Nom d'attribut lors de l'obtention collection: Magento

Fatal error: Uncaught exception 'Mage_Eav_Exception' with message 'Invalid attribute name: subcategory_id.' in /home/dev-cm/public_html/magento2/app/Mage.php:536 Stack trace: #0 /home/dev-cm/public_html/magento2/app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php(1155) 
Mage::exception('Mage_Eav', 'Invalid attribu...') #1 /home/dev-cm/public_html/magento2/app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php(1240) 

J'ai effectivement ajouté un champ personnalisé directement à la table dans la base de données. C'était déjà une table personnalisée aussi. Pour faire des entrées trop setSubcategoryId() méthode ne fonctionnait pas. Donc je l'ai sauvé en faisant la connexion de DB et l'enregistrant par la requête qui n'est pas bonne idée.

Mais la méthode getSubcategoryId() a fonctionné pour obtenir cette valeur de champ à partir de la collection. Maintenant j'essaye d'obtenir des disques pour filtrer par ce champ mais cela ne fonctionne pas et montrant l'erreur ci-dessus. Ci-dessous se trouve le code qui montre cette erreur -

Mage::getModel('catalog/merchant')->getCollection()->addFieldToFilter('subcategory_id','123'); 

J'ai beaucoup cherché à ce sujet mais je n'ai trouvé aucune solution. J'ai également vidé le cache magenta et ré-indexé les données, mais cela n'a pas fonctionné. Je pense que j'ai besoin de changements dans les fichiers de base mais je ne sais pas quoi et comment les faire.

donc j'ai besoin pour obtenir la méthode setSubcategoryId() et l'erreur ci-dessus fixé pour ce champ personnalisé

+0

try 'addAttributeToFilter()' –

+0

Essayé aussi 'addAttributeToFilter()'. Mais même erreur. –

+0

Vous devez fournir vos fichiers config.xml et model pour une assistance supplémentaire. Vous avez certainement fait une erreur dans 'Model' de votre module. Et si vous pouvez fournir l'intention de votre module dans votre question, cela produira une meilleure compréhension de votre problème. –

Répondre

0

je suppose que vous étendez la mauvaise collection ... vous utilisez (extension) d'une collection EAV pendant que vous devez étendre une collection mysql4.

Questions connexes