Magento2 Ordina per clausola nella raccolta


13

Ho una raccolta personalizzata a cui aggiungo filtri. Ad esempio, ho questo:

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

Quale filtro devo aggiungere a $ giftColletion in modo che possa restituire tutti i record per posizione del campo in ordine ASC?

Risposte:


36

Puoi provare questo

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

setOrder è utilizzare per l'ordinamento


2

Secondo \Magento\Catalog\Model\ResourceModel\Product\Collectionte puoi usare il addAttributeToSort()metodo per ordinare la tua collezione.

Questo ha funzionato per me:

$ collection = $ this -> _ collection
    -> create ()
    -> addAttributeToSelect (['sku', 'name', 'image'])
    -> addCategoryFilter ($ categoria)
    -> addAttributeToSort ( 'name')
    -> setPageSize ($ limite);
return $ collection;

Usa qualsiasi attributo di cui hai bisogno per ordinare la tua raccolta anziché 'name'nel mio esempio. È inoltre possibile specificare la direzione dell'ordine come secondo parametro, per impostazione predefinita ASC.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.