我有一个自定义扩展,您可以在其中选择后端的不同条目,以在列表视图中显示它们。我在后端有一个自定义排序,但系统总是按降序排序。
我实现了一个“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
有没有办法改变这个?