Typo3 9.5 - 自定义 flexform 排序,sql 中的反引号错误

Typo3 9.5 - Custom flexform ordering, wrong backquotes in sql

我有一个自定义扩展,您可以在其中 select 后端的不同条目,以在列表视图中显示它们。我的后端有一个自定义排序,但系统总是对它们进行降序排序。

我实现了一个 "orderBy" 函数,但它不起作用,因为系统使用了错误的退格键。

我的代码如下所示:

我在 "findByUid($uid)" 函数中这样调用排序函数:

$query->setOrderings($this->orderByKey('uid', $uidArray));


protected function orderByKey($key, $uidlist) {
    $order = array();
    foreach ($uidlist as $uid) {
        //$order["$key=$uid"] = \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING;
        $order["$key=$uid"] = "ASC";
        \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($order);
    }
    return $order;
}

sql 查询的结果是:

ORDER BY `tx_MYEXTENSION_domain_model_FIELD`.`uid=3` DESC

但必须是:

ORDER BY `tx_MYEXTENSION_domain_model_FIELD`.`uid` = 3 DESC

有办法改变吗?

经过大量搜索,我在 Whosebug 条目上找到了这个解决方案:

$ids = explode(',',$this->settings['entries'])
foreach($ids as $key => $id){
  $entries[$id] = $this->entriesRepository->findByUid($id);
}

此代码段必须集成到控制器中。 对我来说它的工作。