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 -> _ колекція
    -> create ()
    -> addAttributeToSelect (['sku', 'name', 'image'])
    -> addCategoryFilter (категорія $)
    -> addAttributeToSort ('ім'я')
    -> setPageSize (ліміт $);
повернути $ колекцію;

Використовуйте будь-який атрибут, який вам потрібен для сортування колекції замість 'name'мого прикладу. Ви також можете вказати напрямок замовлення як другий параметр, він за замовчуванням ASC.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.