Magento2 Bestellung nach Klausel in Sammlung

13

Ich habe eine benutzerdefinierte Sammlung, zu der ich Filter hinzufüge. Zum Beispiel habe ich Folgendes:

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

Was Filter sollte ich auf $ giftColletion hinzuzufügen , so dass alle die Datensätze nach Feld zurückkehren Position in ASC bestellen?

Lachezar Raychev
quelle

Antworten:

34

Sie können dies versuchen

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

setOrder wird zum Sortieren verwendet

ND17
quelle
2

Entsprechend \Magento\Catalog\Model\ResourceModel\Product\Collectionkönnen Sie addAttributeToSort()Methode verwenden, um Ihre Sammlung zu sortieren.

Das hat bei mir funktioniert:

$ collection = $ this -> _ collection
    -> create ()
    -> addAttributeToSelect (['sku', 'name', 'image'])
    -> addCategoryFilter ($ category)
    -> addAttributeToSort ('name')
    -> setPageSize ($ limit);
$ collection zurückgeben;

Verwenden Sie das Attribut, nach dem Ihre Sammlung sortiert werden soll, anstatt 'name'in meinem Beispiel. Sie können auch die Auftragsrichtung als zweiten Parameter angeben, der standardmäßig verwendet wird ASC.

Zankar
quelle