I am writing a cron job to update products, I cannot use SKU as that is magento only. For every product in magento I have an attribute 'auto_cool_number' I need to update it by that value (which is varchar).
I found this script on magepsycho which is awesome, it works great and updates my price and qty based on SKU, how can I modify the query to inner jOIN attribute values and update all products which share that attribute value.
function _updateStocks($data){ $connection = _getConnection('core_write'); $sku = $data[0]; $newQty = $data[1]; $productId = _getIdFromSku($sku); $attributeId = _getAttributeId();
$sql = "UPDATE " . _getTableName('cataloginventory_stock_item') . " csi, " . _getTableName('cataloginventory_stock_status') . " css SET csi.qty = ?, csi.is_in_stock = ?, css.qty = ?, css.stock_status = ? WHERE csi.product_id = ? AND csi.product_id = css.product_id"; $isInStock = $newQty > 0 ? 1 : 0; $stockStatus = $newQty > 0 ? 1 : 0; $connection->query($sql, array($newQty, $isInStock, $newQty, $stockStatus, $productId)); }
function _updatePrices($data){ $connection = _getConnection('core_write'); $sku = $data[0]; $newPrice = $data[2]; $productId = _getIdFromSku($sku); $attributeId = _getAttributeId();
$sql = "UPDATE " . _getTableName('catalog_product_entity_decimal') . " cped SET cped.value = ? WHERE cped.attribute_id = ? AND cped.entity_id = ?"; $connection->query($sql, array($newPrice, $attributeId, $productId)); }