2
我有這樣的模式:TYPO3 Extbase爲了通過子記錄COUNT
News -> 1:n -> Visit
News -> m:n -> FrontendUserGroup
FrontendUser -> 1:n -> Visit
所以訪問表明其FrontendUser進行訪問的消息。
我需要獲取當前登錄的FrontendUser的所有消息。 所有新聞都應該通過「datetime」屬性命令DESC,但首先應該顯示尚未被登錄用戶訪問的新聞。
這是給了我正確的結果在SQL:
SELECT
(SELECT COUNT(*) FROM tx_xxnews_domain_model_visit v WHERE v.news = n.uid AND v.fe_user = fu.uid) AS visits,
n.*
FROM tx_xxnews_domain_model_news AS n
JOIN tx_xxnews_news_frontendusergroup_mm nfg ON n.uid = nfg.uid_local
JOIN fe_users fu ON FIND_IN_SET(nfg.uid_foreign, fu.usergroup)
WHERE fu.uid = 2271 # logged in user id
ORDER BY visits ASC, n.datetime DESC
有沒有什麼辦法讓這個結果與Extbase?
我想在此NewsRepository:
protected $defaultOrderings = array(
'COUNT(visits)' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
'datetime' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING
);
,但它似乎並沒有工作。
任何想法?
謝謝。
在這種情況下,我想我不應該希望有太多方法來自動處理enableFields,對吧? :) – cili
有點不好意思,但是如果你不想自己寫這些條件,你可以使用ContentObject的enableFields方法。 – lorenz