gpt4 book ai didi

magento - Magento ORM 中的聚合函数

转载 作者:行者123 更新时间:2023-12-04 21:54:21 25 4
gpt4 key购买 nike

如何在 Magento ORM 中使用 sum()、count() 等聚合函数。

考虑有一个表“测试”具有以下值

-------------------------------------
productid | qty
-------------------------------------
1 | 2
-------------------------------------
2 | 3
-------------------------------------
3 | 5
-------------------------------------

如果我在我的模块中映射了这个表,这样我就可以获得收集数据

$_collection = Mage::getModel('mymodule/customcart')->getCollection();

如何使用 COLLECTION 获得与以下查询等效的结果?

select sum(qty) from test;

最佳答案

如果您的 mymodule/customcart集合是基于 EAV,您可以使用 addExpressionAttributeToSelect

$_collection = Mage::getModel('mymodule/customcart')->getCollection();
$_collection->addExpressionAttributeToSelect('qty', 'SUM({{item_qty}})', 'item_qty')
->groupByAttribute('productid');

否则,您将不得不更直接地使用 SQL:
$_collection = Mage::getModel('mymodule/customcart')->getCollection();
$_collection->getSelect()
->columns('SUM(item_qty) AS qty')
->group('productid');

使用带有网格或寻呼机的聚合集合时要小心。他们依靠 getSelectCountSql 不能很好地处理分组查询,您可能需要提供自己的 getSelectCountSql返回准确计数的函数。

关于magento - Magento ORM 中的聚合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5790811/

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