Magento2 Order By 절
-
29-09-2020 - |
문제
필터를 추가하는 사용자 정의 컬렉션이 있습니다.예를 들어, 나는 이것을 가지고있다 :
$giftColletion = $this->_giftFactory->getCollection();
$giftColletion->addFieldToFilter('store_id', 1);
.
$ giftColletion에 어떤 필터를 추가해야하므로 위치 에 의해 모든 레코드를 ASC 주문으로 반환 할 수 있습니까?
해결책
이 작업을 시도 할 수 있습니다
$giftColletion = $this->_giftFactory->getCollection();
$giftColletion->addFieldToFilter('store_id', 1);
$giftColletion->setOrder('position','ASC');
.
setOrder
는
다른 팁
\Magento\Catalog\Model\ResourceModel\Product\Collection
에 따르면 addAttributeToSort()
메소드를 사용하여 컬렉션을 정렬 할 수 있습니다.
이것은 나를 위해 일했습니다 :
$collection = $this->_collection ->create() ->addAttributeToSelect(['sku', 'name', 'image']) ->addCategoryFilter($category) ->addAttributeToSort('name') ->setPageSize($limit); return $collection;.
내 예에서 'name'
대신 컬렉션을 정렬 할 수있는 모든 속성을 사용하십시오.
두 번째 매개 변수로 순서 방향을 지정할 수도 있고 기본값은 ASC
입니다.
이것을 시도하십시오,
$page = ($this->getRequest()->getParam('p')) ? $this->getRequest()->getParam('p') : 1;
$pageSize = 10;
$allMagazines = $this->MagazineFactory->create()->getCollection();
$allMagazines->addFieldToFilter('is_enable', 1);
$allMagazines->setOrder('sort_order','ASC');
$allMagazines->setPageSize($pageSize);
$allMagazines->setCurPage($page);
return $allMagazines;
. 제휴하지 않습니다 magento.stackexchange