Magento2 Sắp xếp theo mệnh đề trong bộ sưu tập


13

Tôi có một bộ sưu tập tùy chỉnh mà tôi thêm các bộ lọc. Ví dụ, tôi có cái này:

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

Tôi nên thêm bộ lọc nào vào $ giftColletion để nó có thể trả về tất cả các bản ghi theo vị trí trường theo thứ tự ASC?

Câu trả lời:


34

Bạn có thể thử cái này

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

setOrder được sử dụng để phân loại


2

Theo \Magento\Catalog\Model\ResourceModel\Product\Collectionbạn có thể sử dụng addAttributeToSort()phương pháp để sắp xếp bộ sưu tập của bạn.

Điều này đã làm việc cho tôi:

$ bộ sưu tập = $ này -> _ bộ sưu tập
    -> tạo ()
    -> addAttributionToSelect (['sku', 'name', 'image'])
    -> addC CategoryFilter ($ loại)
    -> addAttributionToSort ('name')
    -> setPageSize (giới hạn $);
trả lại bộ sưu tập $;

Sử dụng bất kỳ thuộc tính nào bạn cần bộ sưu tập của bạn được sắp xếp theo thay vì 'name'trong ví dụ của tôi. Bạn cũng có thể chỉ định hướng đặt hàng là tham số thứ hai, nó mặc định là ASC.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.