J'ai créé une nouvelle colonne dans la table sales_flat_quote_item
appelée 'wiid'. Je veux enregistrer des données dans ce champ quand une liste de souhaits de produit est ajoutée au panier. Alors, voici mon MageWishlist_Model_Item:Ajouter un nouveau champ à sales_flat_quote_item et enregistrer des données
$quote_item = Mage::getModel('sales/quote_item')->load($cart->getQuote()->getItemByProduct($product)->getId());
//I log() this $quote_item and is returning the correct object
$quote_item_id = $quote_item->getId();
//Is returning the correct quote item id from database
$wishlist_item_id = $this->getId();
//Is returnig the correct wishlist item id
$quote_item->setWiid($wishlist_item_id);
$quote_item->save();
Le problème est dans les deux dernières lignes ci-dessus. Ce n'est pas l'enregistrement dans la base de données.
Et quelle est votre question? – cheesemacfly
Je suppose qu'après avoir créé cette colonne, vous avez effectué une actualisation complète du cache. Magento met en cache la structure de vos tables, si vous n'effacez pas le cache, il ne voit pas le champ "wiid". – Ian
essayez de tout supprimer dans 'var/cache' Les informations sur les colonnes de la table sont mises en cache à partir de' Zend_Db'. Le cas normal est que 'Zend_Db' ne sait pas enregistrer les données. Si les données sont définies et que la colonne existe, elle sera enregistrée. comme Ian a dit –