Typo3 9.5 - Пользовательский порядок flexform, неправильные кавычки в SQL - PullRequest
0 голосов
/ 15 мая 2019

У меня есть собственное расширение, где вы можете выбрать различные записи в бэкэнде, чтобы показать их в виде списка.У меня есть пользовательская сортировка на моем бэкэнде, но система всегда сортирует их по убыванию.

Я реализовал функцию "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

Есть ли способ изменить это?

1 Ответ

0 голосов
/ 21 мая 2019

После долгих поисков я нашел это решение в записи stackoverflow:

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

Этот фрагмент кода должен быть интегрирован в контроллер.Для меня это работает.

...