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.