magento 1.9 - Magento: установите LIMIT для коллекции




2 Answers

Есть несколько способов сделать это:

$collection = Mage::getModel('...')
            ->getCollection()
            ->setPageSize(20)
            ->setCurPage(1);

Получат первые 20 записей.

Вот альтернатива и, возможно, более читаемый способ:

$collection = Mage::getModel('...')->getCollection();
$collection->getSelect()->limit(20);

Это вызовет ограничение Zend Db. Вы можете установить смещение как второй параметр.

collections neq

Вопрос, который я пытался выяснить, заключается в том, как установить лимит в коллекции, ответы, которые я нашел в Google, были доступны только для Каталога с помощью setPage ($ pageNum, $ pageSize). Это не работает ни в каких других коллекциях.
См. Ответ ниже.




Лимит сбора заказов:

$orderCollection = Mage::getResourceModel('sales/order_collection'); 
$orderCollection->getSelect()->limit(10);
$orderModel = Mage::getModel('sales/order');

foreach ($orderCollection->getItems() as $order) :
   $order =   $orderModel->load($order['entity_id']);
   echo $order->getId().'<br>'; 
endforeach; 



Related