Как мне написать SQL-запрос
SELECT *
FROM tx_test_domain_model_icon
WHERE uid IN (24,42,23,25,26,31,40,41,54)
ORDER BY FIELD(uid, 24,42,23,25,26,31,40,41,54)
в коде Extbase?
В моем IconRepository у меня есть
$query = $this->createQuery();
$and = [
$query->in('uid', $serviceIconIds),
$query->setOrderings($this->orderByKey('uid', $uidList))
];
$query->matching($query->logicalAnd($and));
$result = $query->execute();
Но как я могу установить порядок?
РЕШЕНИЕ Это сработало для меня
$query->setOrderings($this->orderByUid('uid', $serviceIconIds));
$result = $query->execute();
}
protected function orderByUid($key, $uidlist)
{
$order = array();
foreach ($uidlist as $uid) {
$order["$key={$uid}"] = QueryInterface::ORDER_DESCENDING;
}
return $order;
}