我有以下代码
$id = 19654;
$prod = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*');
$prod->addAttributeToFilter('entity_id',array('in'=> array($id)));
$prod->load();
使用以下代码
foreach($prod as $_prod)
{
var_dump($_prod->getData());
}
我可以查看几乎所有与我正在查看的可配置产品相关的数据,至少我缺少的数据,以及与之相关的简单产品的entity_id列表
就数据库而言,我知道简单和可配置产品之间的链接在catalog_product_relation,catalog_product_super_link和/或catalog_product_link中,因为我正在使用集合,我不能只使用INNER JOIN
我从我的magento安装的根目录中的test.php页面运行此代码
答案 0 :(得分:3)
尝试
$_product = Mage::getModel('catalog/product')->load($productId);
if($_product->getTypeId() == "configurable"){
$AssociatedProduct = $_product->getTypeInstance()->getUsedProducts();
}
或者
if($_product->getTypeId() == "configurable"){
$conf = Mage::getModel('catalog/product_type_configurable')->setProduct($_product);
$col = $conf->getUsedProductCollection()->addAttributeToSelect('*')->addFilterByRequiredOptions();
foreach($col as $simple_product){
var_dump($simple_product->getId());
}
}