Typo3 9.5-自定义FlexForm订购,SQL中的错误回声



我有一个自定义扩展名,您可以在该列表视图中选择后端的不同条目。我的后端有一个自定义分类,但是系统总是对它们进行分类。

我实现了一个"订单"函数,该功能无法正常工作,因为系统使用了错误的背景。

我的代码看起来像这样:

我在我的" Findbyuid($ uid("函数中称为排序函数:

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

protected function orderByKey($key, $uidlist) {
    $order = array();
    foreach ($uidlist as $uid) {
        //$order["$key=$uid"] = TYPO3CMSExtbasePersistenceQueryInterface::ORDER_DESCENDING;
        $order["$key=$uid"] = "ASC";
        TYPO3CMSExtbaseUtilityDebuggerUtility::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

有没有办法改变此问题?

经过大量搜索后,我在stackoverflow条目上找到了此解决方案:

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

此代码片段必须在控制器上相互分解。对我来说它的工作。

最新更新