magento 2: Cara menggunakan urutan dan membatasi klausa dalam kueri sql


9

Saya menggunakan kode berikut untuk memfilter hasil dan saya ingin membatasi hasilnya.

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

Apakah Anda mencoba $ giftColletion-> setPageSize (3)
— Magento 2

Akan mencobanya, Ini akan menghasilkan 3 catatan, kan?
— Nitin Pawar

Ya, Anda perlu menetapkan hitungan
— Magento 2

Jawaban:


8

Anda dapat menggunakan setPageSize () untuk menggunakan batas dalam koleksi

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

Anda dapat mengubah di sini 10 hingga batas Anda di bidang setpagesize. tolong beri tahu saya jika Anda memiliki masalah
— Rakesh Jesadiya

bagaimana saya bisa mengatur pesanan untuk dua bidang data seperti posisi dan gaji.
— Nitin Pawar

Anda dapat menggunakan dua kali setOrder ()
— Rakesh Jesadiya

Anda juga dapat mencoba dengan $ giftCollection-> setOrder (array ('posisi', 'gaji'), kenaikan) jika keduanya dalam urutan naik. Di atas digunakan untuk berbagai urutan.
— Rakesh Jesadiya

1
HIIII ITS berfungsi sekarang = >>> $ collection-> getSelect () -> have ('distance <'. $ Redious) -> order ('distance ASC') -> batas ($ pageSize, $ page);
— Birjitsinh Zala

2

Menggunakan ukuran Halaman Anda dapat menetapkan batas:

$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

Saya biasanya menggunakan yang berikut tetapi setPageSize()juga valid:

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

Mengenai penyortiran, jika arah penyortiran Anda sama untuk semua bidang, Anda dapat mengaturnya hanya dalam satu panggilan menggunakan array:

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

1

Dipesan oleh :

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

1

Anda dapat menggunakan kode di bawah ini.

$giftColletion = $this->_giftFactory->getCollection();
$giftColletion->addFieldToFilter('store_id', 1)->setPageSize($limit)->setCurPage($criteria)->setOrder('position','ASC');
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.