Magento Custom Module数据库查询

时间:2010-10-27 15:50:26

标签: magento

我已经编写了一个模块来添加我自己的事件,在主页中我只想显示最新的事件。因此,在这种情况下,我必须通过查询添加顺序,但我无法做到这一点,它总是会引发致命的错误。

这就是我所做的。

$_offers = Mage::getSingleton('offerings/offerings')->getCollection();  

这会返回所有记录,这里我可以设置过滤器选项,但我无法像这样添加排序顺序

$_offers = Mage::getModel('offerings/offerings')->getCollection()
            ->addAttributeToSort('offerings_id', 'DESC')
            ->setPageSize(5)
            ->setPage(1, 5);

甚至使用Mage :: getSingleton。问题是这里面临的问题。请帮帮我

2 个答案:

答案 0 :(得分:2)

我没有花时间去测试,但我怀疑你需要做这样的事情:

$_offers = Mage::getModel('offerings/offerings')->getCollection()
            ->setOrder('offerings_id', 'DESC')
            ->setPageSize(5);

正如所指出的那样,EAV方法addAttributeToSort()在这里不起作用。 setPage()也不会setPageSize()也一样好。

有很多教程和指南可以从中学到这些东西。艾伦的knowledgebase articles是这个主题的权威资源,你最好阅读并实践它。

答案 1 :(得分:0)

包含错误消息,人们可以开始帮助您。

我猜你是不是已经使用Module Creator来创建你的模块,它为你提供了一个默认的非eav模型和集合。 addAttributeToSort方法仅适用于EAV集合。

此处有关于各种排序选项的更多信息

Magento get a product collection in an arbitrary order