Magento – After Update product attribute, vanishes tier prices

magento-1.7product

I tried to update product's attribute called barcode as follows.

It update the product but cleared tier price of that product. Please help me.

$product = Mage::getModel('catalog/product')->loadByAttribute('sku', $prod_sku);
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

if ($product) {
  $product->setBarcode($bar_code);
  if(! $product->save()){
            $productId = $product->getId();
            echo "product_Id :: ".$productId." - Product sku :: ".$product->getSku()."<br />";
        }else{
            echo "not saved";
        }
 }

Best Answer

Try it like this:

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$id = Mage::getModel('catalog/product')->getIdBySku($prod_sku);
$product = Mage::getModel('catalog/product')->load($id);
if ($product) {
  $product->setBarcode($bar_code);
  if(! $product->save()){
            $productId = $product->getId();
            echo "product_Id :: ".$productId." - Product sku :: ".$product->getSku()."<br />";
        }else{
            echo "not saved";
        }
 }