如何在Magento中的一个查询中获取产品详细信息并关联类别名称

时间:2016-09-24 10:06:33

标签: php magento model categories product

我想只运行一个查询$ prod_details,然后运行一个循环,给我一些产品detials,但我没有得到类别名称。

(我不想在循环中运行另一个查询来获取类别名称)

这是我正在使用的代码:

$prod_details = Mage::getModel('catalog/product')->getCollection()->addWebsiteFilter($web_id)->addAttributeToFilter('status', 1)->addAttributeToSelect('*');
    $prod_details->addFieldToFilter('visibility', Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH);
    $prod_details->distinct(true)
    ->joinField('category_id', 'catalog/category_product', null, 'product_id = entity_id','{{table}}.category_id', 'inner')->addAttributeToFilter('category_id', array('in' => $category_id))
    ->joinField('qty','cataloginventory/stock_item','qty','product_id=entity_id','{{table}}.stock_id=1','left')
    ->addAttributeToFilter('qty', array('gt' => 0));

foreach ($prod_details as $product) {

        $product_data["pid"]=$product->getId();
        $product_data['qty']=$product->getQty();...
    $product_data['category'] = $product->getParentCategory()->getName(); 

我可以获得产品ID和数量,但类别名称不会填充,我不想在循环中运行$_category = Mage::getModel('catalog/category')来获取类别名称。

当我更改类别'attributetofiler'上的值时,整个查询都没有运行,或者我得到一个错误,或者它运行没有类别名称。 有人能发现任何错误吗?感谢

0 个答案:

没有答案