Magento 2: Siparişi sırala ve ürün koleksiyonunu sınırla


16

Ürün koleksiyonunu ID sipariş DESC'e göre sıralamam ve ürün koleksiyonuna sınır eklemem gerekiyor. İşte benim kod:

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

Yanıtlar:


31

Bu kodu addAttributeToSort('entity_id', 'desc')koleksiyonunuza eklemeniz yeterlidir.

Ürün EAV yapısını takip ettiği için kullanabilirsiniz addAttributeToSort('attribute_code', 'sort_order')

Bir koleksiyon kullanımını setPageSize()ve setCurPage()yöntemlerini sınırlamak için :

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

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

1
Limit kısmını cevaplamadınız.
Hashid

@Hashid cevabı güncelledi.
Roman Snitko

Harika! Bu, bir sayfada sayfalama olmak üzere 2 toplama bloğuna sahipken, sayfalama amaçlı olmayan diğer koleksiyonu kırdığı bir sorunu düzeltti. İkincisindeki 'setCurPage' bunu düzeltti 🥳
00-BBB

setPageSize benim için çalışmıyor
Sagar Parikh SGR
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.