Запрос базы данных Magento Custom Module - PullRequest
0 голосов
/ 27 октября 2010

Я написал модуль для добавления своих собственных событий, и на домашней странице я хотел бы показывать только последние события.Так что в этом случае мне нужно добавить order by к запросу, но я не смог этого сделать, он всегда выдает фатальную ошибку.

Это то, что я сделал.

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

Это возвращает всезаписей, здесь я мог установить параметры фильтра, но я не мог добавить порядок сортировки, такой как

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

или даже используя Mage :: getSingleton.В чем здесь проблема.Пожалуйста, помогите мне

Ответы [ 2 ]

2 голосов
/ 28 октября 2010

Я не потратил время на тестирование, но подозреваю, что вам нужно сделать что-то вроде этого:

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

Как указано, метод EAV addAttributeToSort() здесь не будет работать. И не будет setPage(), но setPageSize() так же хорош.

Существует множество учебных пособий и руководств для изучения этого материала. статей Аллана являются авторитетным ресурсом по этому вопросу, вам бы неплохо было прочитать и попрактиковаться во всем этом.

0 голосов
/ 27 октября 2010

Включите сообщение об ошибке, и люди могут начать помогать вам.

Полагаю, если вы использовали Module Creator для создания вашего модуля, который дает вам модель и коллекцию по умолчанию, не относящиеся к eav Метод addAttributeToSort существует только для коллекций EAV.

Более подробная информация о различных вариантах сортировки приведена здесь

Magento получает коллекцию товаров в произвольном порядке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...