Magento2 เรียงตามข้อในการรวบรวม


13

ฉันมีชุดรวมที่กำหนดเองซึ่งฉันเพิ่มตัวกรอง ตัวอย่างเช่นฉันมีสิ่งนี้:

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

ฉันควรเพิ่มตัวกรองใดใน $ giftColletion เพื่อให้สามารถส่งกลับระเบียนทั้งหมดตามตำแหน่งฟิลด์ตามลำดับ ASC

คำตอบ:


36

คุณสามารถลองสิ่งนี้

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

setOrder ใช้สำหรับการจัดเรียง


2

ตามที่\Magento\Catalog\Model\ResourceModel\Product\Collectionคุณสามารถใช้addAttributeToSort()วิธีการเรียงลำดับคอลเลกชันของคุณ

สิ่งนี้ได้ผลสำหรับฉัน:

$ collection = $ this -> _ คอลเล็กชัน
    -> สร้าง ()
    -> addAttributeToSelect (['sku', 'name', 'image'])
    -> addCategoryFilter ($ หมวดหมู่)
    -> addAttributeToSort ( 'ชื่อ')
    -> setPageSize ($ ขีด จำกัด );
ส่งคืนคอลเล็กชัน $;

ใช้คุณลักษณะใดก็ตามที่คุณต้องการให้ชุดของคุณถูกเรียงลำดับแทนที่จะเป็น'name'ในตัวอย่างของฉัน ASCนอกจากนี้คุณยังสามารถระบุทิศทางเพื่อเป็นพารามิเตอร์ที่สองเป็นค่าเริ่มต้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.