Magento 2:对订单排序并限制产品集合


16

我需要按ID顺序DESC对产品集合进行排序,并将限制添加到产品集合中。这是我的代码:

$objectManager     = \Magento\Framework\App\ObjectManager::getInstance();
$productCollection = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\CollectionFactory');
$collection        = $productCollection->create()
    ->addAttributeToSelect('*')
    ->load();

Answers:


31

只需将此代码添加addAttributeToSort('entity_id', 'desc')到您的收藏夹即可。

由于产品遵循EAV结构,因此您可以使用 addAttributeToSort('attribute_code', 'sort_order')

为了限制集合的使用setPageSize()setCurPage()方法:

$collection = $productCollection->create()
    ->addAttributeToSelect('*');

$collection 
    ->setPageSize(10) // only get 10 products 
    ->setCurPage(1)  // first page (means limit 0,10)
    ->load(); 

1
您尚未回答限制部分。
哈希德

@Hashid更新了答案。
罗曼·斯尼科

大!当页面上有2个收集块时,这也解决了一个问题,其中一个是分页,而这又破坏了另一个本来不是分页的收集。后者的“ setCurPage”修复了此问题
00-BBB

setPageSize对我不起作用
Sagar Parikh SGR
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.