在我的extbase 6.2扩展中,我希望用户从select-input中选择一些东西,我希望按用途订购这些项目。
我之前对这些对象进行了排序:
/**
* The repository for Expertises
*/
class ExpertiseRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {
// Order by BE sorting
protected $defaultOrderings = array(
'name' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
);
}
但是现在我想按引用量对它们进行排序 - 然后按照名字的顺序排序。我不知道引用字段在哪里或它的名字是什么 - 我刚才在后端看到它:
有谁知道怎么做?
答案 0 :(得分:0)
这些引用存储在所谓的refindex中,该索引位于表sys_refindex
中。
为了得到计数,你需要使用sys_refindex LEFT JOIN
你的表,如下所示:
SELECT t.uid, …, COUNT(*) AS refcount
FROM tx_myext_table t
LEFT JOIN sys_refindex ri
ON t.uid = ri.recuid AND ri.tablename = "tx_myext_table"
GROUP BY ri.uid, ri.tablename
关于refindex的一点背景:TYPO3在内部处理并在每次记录更改时更新它,当它通过官方API完成时(例如,在后端表单中保存记录时)。