2016-10-28 1 views
1

두 모델 (MemberCategory)과이 모델 간의 M : M 관계를 가진 TYPO3 확장이 있습니다. 이제 특수 저장소 메서드 findByCategoryUid을 작성하여 Date로 정렬 된 멤버를 얻습니다.mmssorting에 의한 extbase 저장소 객체 정렬 방법

회원 객체를 필드로 정렬/정렬하려면 어떻게해야합니까? tx_***member_membercategory_mm.sorting?

이 하나는 작동하지 않습니다.

$query->setOrderings(
    array('tx_***_member_membercategory_mm.sorting' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING) 
); 

답변

1

Extbase 리포지토리/쿼리로 작업 할 때는 mysql 테이블을 잊어 버리고 모델을 살펴보십시오. 관련 필드별로 정렬하려면 모델 필드를 사용해야합니다. 카테고리가 Member 모델의 category 필드에있는 경우 category.sorting을 정렬 필드로 사용해야합니다. 쿼리에서 필터링하는 경우에도 마찬가지입니다.

$query->setOrderings(
    array('category.sorting' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING) 
); 

TCA와 모델을 올바르게 구성한 경우에만 작동합니다.

+0

잘못된 방식입니다. 내 일반 SQL 쿼리를 리포지토리 메서드를 사용하여 포트 것입니다. 내 쿼리는 '멤버 선택. * FROM 멤버, Member_Cat_MM, 카테고리 WHERE Member.uid = Member_Categoy_MM.uid_local 및 Category.uid = Member_Category_MM.uid_foreign = Category.uid GROUP BY Member.uid ORDER BY Member_Category_MM.sorting ASC' –