gpt4 book ai didi

Magento - 获取集合计数的最有效方法

转载 作者:行者123 更新时间:2023-12-04 02:30:48 24 4
gpt4 key购买 nike

我在 Magento 中有一个辅助方法,它要求我获取几个不相关集合的计数。除此之外,我需要类别中每个产品的这些信息,即产品 ListView 中的每个产品。因此,我可能会在产品列表呈现期间重复创建大量集合。

获取集合计数的最有效方法是什么,也就是说,我不需要来自模型的任何数据,只需要有多少模型。

是不是很简单:

Mage::getResourceModel('mymodule/mymodel_collection')->addFilter('myattribute', $value)->count()

或者有没有更有效的方法来做到这一点?

最佳答案

很好的问题。从我在源代码中发现的内容来看,这是最快的选项,即使它在 Varien_Data_Collection 中执行以下操作:

public function count()
{
$this->load();
return count($this->_items);
}

所以它会做它通常的事情并继续加载你指定的任何东西,就像迭代单个项目一样。没有魔法 SQL COUNT()这里。我发现与计算产品有关的唯一其他方法是 getSelectCountSql()getProductCountSelect() ,但它们只返回 SQL 代码。

但是:整个 EAV 事情和 Magento 的查询构建器都非常聪明,所以这应该不是什么大问题。另外,我敢打赌 Magento 有各种缓存。

简而言之:是的,这是计算产品系列中产品数量的最快选择。

关于Magento - 获取集合计数的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11416582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com