我想只运行一个查询$ 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'上的值时,整个查询都没有运行,或者我得到一个错误,或者它运行没有类别名称。 有人能发现任何错误吗?感谢