magento 2: วิธีการใช้คำสั่งโดยและ จำกัด ข้อในแบบสอบถาม SQL


9

ฉันใช้รหัสต่อไปนี้เพื่อกรองผลลัพธ์และฉันต้องการ จำกัด ผลลัพธ์

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

คุณลอง $ giftColletion-> setPageSize (3)
Magento 2

จะลองสิมันจะส่งผลให้ฉัน 3 รายการใช่มั้ย
Nitin Pawar

ใช่คุณต้องตั้งค่าจำนวน
วีโอไอพี 2

คำตอบ:


8

คุณสามารถใช้ setPageSize () เพื่อใช้วงเงินในการรวบรวม

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

คุณสามารถเปลี่ยนที่นี่ 10 เป็นขีด จำกัด ของคุณในฟิลด์ setpagesize โปรดแจ้งให้เราทราบหากคุณมีปัญหาใด ๆ
Rakesh Jesadiya

ฉันจะกำหนดคำสั่งสำหรับสองเขตข้อมูลเช่นตำแหน่งและเงินเดือนได้อย่างไร
Nitin Pawar

คุณสามารถใช้ setOrder สองครั้ง ()
Rakesh Jesadiya

คุณยังสามารถลองกับ $ giftCollection-> setOrder (อาร์เรย์ ('ตำแหน่ง', 'เงินเดือน'), asc) ถ้าทั้งคู่อยู่ในลำดับ asc ด้านบนใช้สำหรับการเรียงลำดับที่แตกต่างกัน
Rakesh Jesadiya

1
HIIII ITS ทำงานทันที = >>> $ collection-> getSelect () -> มี ('ระยะทาง <'. $ redious) -> คำสั่งซื้อ ('ระยะทาง ASC') -> ขีด จำกัด ($ pageSize, $ page);
Birjitsinh Zala

2

การใช้ขนาดหน้าคุณสามารถกำหนดขีด จำกัด :

$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

ปกติฉันจะใช้สิ่งต่อไปนี้ แต่setPageSize()ก็ใช้ได้เช่นกัน:

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

เกี่ยวกับการเรียงลำดับหากทิศทางการเรียงลำดับของคุณเหมือนกันสำหรับฟิลด์ทั้งหมดคุณสามารถตั้งค่านั้นในการโทรเพียงครั้งเดียวโดยใช้อาร์เรย์:

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


1

คุณสามารถใช้รหัสด้านล่าง

$giftColletion = $this->_giftFactory->getCollection();
$giftColletion->addFieldToFilter('store_id', 1)->setPageSize($limit)->setCurPage($criteria)->setOrder('position','ASC');
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.