Здравствуйте
В базе элементы, у каждого из которых указана дата его актуальности
С помощью ORM необходимо cделать выборку так, чтобы сначала вывести все актуальные элементы с убыванием по ID, а далее вывести все оставшиеся элементы либо с убыванием по ID, либо с убыванием по дате актуальности (либо еще как-то, уже не так важно). Постраничная навигация должна поддерживаться.
Вроде задача не хитрая, а как сделать оптимально и красиво не могу сообразить. Сможет помочь кто-то?
Ранее была выборка без учета актуальности
В базе элементы, у каждого из которых указана дата его актуальности
С помощью ORM необходимо cделать выборку так, чтобы сначала вывести все актуальные элементы с убыванием по ID, а далее вывести все оставшиеся элементы либо с убыванием по ID, либо с убыванием по дате актуальности (либо еще как-то, уже не так важно). Постраничная навигация должна поддерживаться.
Вроде задача не хитрая, а как сделать оптимально и красиво не могу сообразить. Сможет помочь кто-то?
Ранее была выборка без учета актуальности
| Код |
|---|
$nav = new \Bitrix\Main\UI\PageNavigation("navigation");
$nav->allowAllRecords(false)
->setPageSize(10)
->initFromUri();
//выборка
$dbOrders = \Stdl\Orders\OrdersTable::getList(
array(
"order" => array("ID" => "DESC"),
"filter" => array(),
"select" => array("*"),
"count_total" => true,
"offset" => $nav->getOffset(),
"limit" => $nav->getLimit()
)
);
$arResult["ORDERS"] = $dbOrders->fetchAll();
//навигация
$nav->setRecordCount($dbOrders->getCount());
$arResult["nav"] = $nav; |