php – 如何对Magento中的集合进行排序?

前端之家收集整理的这篇文章主要介绍了php – 如何对Magento中的集合进行排序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图通过attribute_id对一个集合进行排序.我以为这很容易,但是我觉得我没有正确使用它:
$attributes =  Mage::getResourceModel('eav/entity_attribute_collection')
    ->setOrder('attribute_id');
echo $attributes->getSelect();

结果:

SELECT `main_table`.* FROM `eav_attribute` AS `main_table`

为什么没有订单?

你实际上是正确的做法.然而,由于Magento使用EAV,它需要应用技巧来帮助性能.

这些技巧之一是用于构建最终sql字符串的时间.通常它在最后一分钟加载缓慢,直到你实际上指出你想要访问一个集合的数据,才能看到用于生成集合的完整sql.例如运行代码,但是提示magento实际构建和加载集合,生成预期的输出.

$attributes =  Mage::getResourceModel('eav/entity_attribute_collection')
    ->setOrder('attribute_id');
$attributes->count(); // forces the collection to load
echo $attributes->getSelect()->assemble();

这导致sql

SELECT `main_table`.* FROM `eav_attribute` AS `main_table` ORDER BY attribute_id DESC

所以你是在正确的道路上,只是Magento正在做最好的混合你的水平.这是非常好的.

猜你在找的PHP相关文章