컬렉션의 Magento2 Order by 절 사용자 지정 컬렉션이 있습니다. 예를

필터를 추가 할 사용자 지정 컬렉션이 있습니다. 예를 들어, 나는 이것을 가지고있다 :

$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
    -> 만들기 ()
    -> addAttributeToSelect ([ 'sku', 'name', 'image'])
    -> addCategoryFilter ($ category)
    -> addAttributeToSort ( '이름')
    -> setPageSize ($ limit);
$ collection을 반환;

'name'내 예제 대신 컬렉션을 정렬하는 데 필요한 속성을 사용하십시오 . 순서 방향을 두 번째 매개 변수로 지정할 수도 있습니다 ASC. 기본값은 입니다.