我必须在ajax请求中显示添加到特定类别的产品列表。因此,当我尝试使用类别过滤器方法时,它显示致命错误。使用magento 1.4.1
致命错误:未捕获的异常 带有消息的'PDOException' 'SQLSTATE [42S22]:未找到列: 1054未知列'e.category_ids' 在“where子句”中 /var/www/html/wc2/lib/Zend/Db/Statement/Pdo.php:228 堆栈跟踪:
#0 /var/www/html/wc2/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->执行(阵列)
#1 /var/www/html/wc2/lib/Zend/Db/Statement.php(300): Zend_Db_Statement_Pdo-> _execute(阵列)
#2 /var/www/html/wc2/lib/Zend/Db/Adapter/Abstract.php(468): Zend_Db_Statement-> execute(Array)> #3 /var/www/html/wc2/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->查询('SELECT count(DI ...',Array)
#4 /var/www/html/wc2/lib/Varien/Db/Adapter/Pdo/Mysql.php(333): Zend_Db_Adapter_Pdo_Abstract->查询('SELECT count(DI ...',Array)
#5 /var/www/html/wc2/lib/Zend/Db/Adapter/Abstract.php(799): Varien_Db_Adapter_Pdo_Mysql->查询('SELECT count(DI ...',Array)
#6 /var/www/html/wc2/lib/Varien/Data/Collection/Db.php(210): Zend_Db_Adapter_Abstract-> fetchOne('SELECT count(DI ...',Array)
#7 在/ var / www / html等/ WC2 / lib中/瓦瑞恩/数据/ COLLEC 在 /var/www/html/wc2/lib/Zend/Db/Statement/Pdo.php 在第234行
这是我在ajax文件上添加的代码
$_productCollection = Mage::getModel('catalog/product')->getCollection()
->addPriceData()
->addAttributeToSort('name', 'ASC')
->addAttributeToFilter('category_ids',array('finset'=>'604'))
->addCategoryFilter('category_id','604')
->setPageSize($limit)
->setPage($p, $limit)
->addAttributeToSelect('*');
$_productCollection = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->setPageSize($limit)
->setPage($p, $limit)
->addAttributeToFilter('category_ids',array('finset'=>'66,67'));
foreach ($_productCollection as $_product):
echo $_product->getId();
endforeach;
他们都没有工作。它们都显示相同的错误。请有人帮助我。 感谢
答案 0 :(得分:3)
$category = Mage::getModel('catalog/category')->load(604);
$_productCollection = Mage::getModel('catalog/product')->getCollection()
->addPriceData()
->addAttributeToSort('name', 'ASC')
->addCategoryFilter($category)
->setPageSize($limit)
->setPage($p, $limit)
->addAttributeToSelect('*');
此过滤器应该有效。