Октябрь 31, 2018
Теги:
Хайлоадблоки, ORM, Хранение данных, Как это сделать?
Использование сложных сортировок в ORM (случайная сортировка, сортировка с пустыми значениями в конце и т.д.).
Сортировка по полю "UF_SORT" в прямом порядке ("ASC") с пустыми значениями в конце (аналог "ASC,NULLS" в старом api инфоблоков):
$result = $entityDataClass::getList(array(
'runtime' => array(new \Bitrix\Main\Entity\ExpressionField(
'ISSORTNULL',
'ISNULL(-%s)',
['UF_SORT']
)),
'order' => array('ISSORTNULL'=>'ASC','UF_SORT'=>'ASC'),
'limit' => 10,
));
while ($arRow = $result->fetch())
{
print_r($arRow);
}
Сортировка в случайном порядке:
$result = $entityDataClass::getList(array(
'runtime' => array('RAND'=>array('data_type' => 'float', 'expression' => array('RAND()'))),
'order' => array('RAND'=>'ASC'),
'limit' => 10,
));
while ($arRow = $result->fetch())
{
print_r($arRow);
}