magento 2: sql sorgusunda sıralama ölçütü ve sınır cümlesi nasıl kullanılır


9

Sonucu filtrelemek için aşağıdaki kodu kullanıyorum ve sonucu sınırlamak istiyorum.

$giftColletion = $this->_giftFactory->getCollection();
$giftColletion->addFieldToFilter('store_id', 1);
$giftColletion->setOrder('position','ASC');

Bunu denedin mi? GiftColletion-> setPageSize (3)
Magento 2

Deneyeceğim, 3 kayıtla sonuçlanacak değil mi?
Nitin Pawar

Evet sayımı ayarlamanız gerekiyor
Magento 2

Yanıtlar:


8

Koleksiyonda limit kullanmak için setPageSize () yöntemini kullanabilirsiniz

$giftColletion = $this->_giftFactory->getCollection();
$giftColletion->addFieldToFilter('store_id', 1);
$giftColletion->setOrder('position','ASC');
$giftColletion->setOrder('salary','ASC');
$giftColletion->setPageSize(10);

Burada setpagesize alanında sınırınıza 10 geçebilirsiniz. Herhangi bir
sorunuz

konum ve maaş gibi iki veri alanı için düzeni nasıl ayarlayabilirim.
Nitin Pawar

setOrder ()
Rakesh Jesadiya

her ikisi de artan sıradaysa $ giftCollection-> setOrder (dizi ('konum', 'maaş'), artan) ile de deneyebilirsiniz. Yukarıda farklı sıralama düzeni için kullanılır.
Rakesh Jesadiya

1
HIIII şimdi çalışıyor = >>> $ collection-> getSelect () -> ('distance <'. $ Redious) -> order ('ASC distance') -> limit ($ pageSize, $ page);
Birjitsinh Zala

2

Sayfa boyutunu kullanarak sınır belirleyebilirsiniz:

$giftColletion = $this->_giftFactory->getCollection();
    $giftColletion->addFieldToFilter('store_id', 1);
    $giftColletion->setOrder('position','ASC');
    $giftColletion->setPageSize($pageSize);
    $giftColletion->setCurPage($page);

2
$giftColletion = $this->_giftFactory->getCollection()->addFieldToFilter('store_id', 1);
$giftColletion->setOrder('position', 'ASC');
$giftColletion->setOrder('attribute_code', 'ASC'); 
$giftColletion->setPageSize($limitNo);

2

Normalde aşağıdakileri kullanıyorum ancak setPageSize()geçerli:

$collection->getSelect()->limit($limit);

Sıralama ile ilgili olarak, sıralamanızın yönü tüm alanlar için aynıysa, bunu bir dizi kullanarak yalnızca bir çağrıda ayarlayabilirsiniz:

$collection->setOrder([$field1, $field2, ...], $dir);

1

Tarafından sipariş :

$giftColletion->setOrder('position','ASC');
$giftColletion->setOrder('store_id','ASC');

1

Aşağıdaki kodu kullanabilirsiniz.

$giftColletion = $this->_giftFactory->getCollection();
$giftColletion->addFieldToFilter('store_id', 1)->setPageSize($limit)->setCurPage($criteria)->setOrder('position','ASC');
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.