2016-10-28 42 views
1

我有一個TYPO3擴展與兩個模型,MemberCategory和這些模型之間的M:M關係。 現在我編寫一個特殊的存儲庫方法findByCategoryUid以獲取按日期排序的成員。如何排序extbase存儲庫對象由mm.sorting

如何根據字段tx_***member_membercategory_mm.sorting排序/排序成員對象?

這一個dosn't工作。

$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查詢移植到使用存儲庫方法。 我的查詢看起來像'Select Member。* FROM Member,Member_Cat_MM,Category WHERE Member.uid = Member_Categoy_MM.uid_local and Category.uid = Member_Category_MM.uid_foreign = Category.uid GROUP BY Member.uid ORDER BY Member_Category_MM.sorting ASC' –

相關問題