Magento2 Ordenar por cláusula en colección


13

Tengo una colección personalizada a la que agrego filtros. Por ejemplo, tengo esto:

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

¿Qué filtro debo agregar a $ giftColletion para que pueda devolver todos los registros por posición de campo en orden ASC?

Respuestas:


36

Puedes probar esto

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

setOrder se usa para ordenar


2

Según \Magento\Catalog\Model\ResourceModel\Product\Collectionusted puede usar el addAttributeToSort()método para ordenar su colección.

Esto me ha funcionado:

$ colección = $ this -> _ colección
    -> crear ()
    -> addAttributeToSelect (['sku', 'nombre', 'imagen'])
    -> addCategoryFilter ($ categoría)
    -> addAttributeToSort ('nombre')
    -> setPageSize ($ límite);
devolver $ colección;

Use cualquier atributo por el que necesite ordenar su colección en lugar de 'name'en mi ejemplo. También puede especificar la dirección del pedido como el segundo parámetro, por defecto ASC.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.