getCollection()在前端返回1个值,在后端返回倍数

时间:2012-08-15 17:19:35

标签: magento

我的模型上有这个代码:

$categorias = Mage::getModel('catalog/product')->getCollection()
        ->addAttributeToSelect('*')
        ->addAttributeToFilter('status', 1)
        ->addAttributeToFilter('visibility', 4)
        ->groupByAttribute('name');

在我的后端页面上,它返回按名称分组的所有产品值,但如果我在前端调用此值,则返回1值。这是怎么回事?如果我删除groupByAttribute行工作没问题,但不要分组。我需要小组。 Ty求救人员

2 个答案:

答案 0 :(得分:3)

删除你的groupByAttribute();

$categorias = Mage::getModel('catalog/product')->getCollection()
        ->addAttributeToSelect('*')
        ->addAttributeToFilter('status', 1)
        ->addAttributeToFilter('visibility', 4)
               //removed ->groupByAttribute('name')
        ;
$categorias->getSelect()->group('name');  //added

尝试:

 $collection->getSelect()->group($fieldname); 

如果您想按多个字段进行分组:

 $categorias->getSelect()->group(array($fieldname1, $fieldname2,...)); 

答案 1 :(得分:0)

前端是否启用了所有类别?它们可能不是,因此只会出现在后端结果中。

逾越节