我有一个自定义扩展名,您可以在该列表视图中选择后端的不同条目。我的后端有一个自定义分类,但是系统总是对它们进行分类。
我实现了一个"订单"函数,该功能无法正常工作,因为系统使用了错误的背景。
我的代码看起来像这样:
我在我的" 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);
}
此代码片段必须在控制器上相互分解。对我来说它的工作。