Александр Кулеша, благодарю.
я оказывается совсем не с той стороны решение искать начал :)
я оказывается совсем не с той стороны решение искать начал :)
|
Александр Кулеша, благодарю.
я оказывается совсем не с той стороны решение искать начал :) |
|
|
|
|
|
[QUOTE]Александр Кулеша написал:
Bitrix\Sale\Order::getList()->getSelectedRowsCount()[/QUOTE] но вот только с этим методом не понятно как использовать limit т.е. если я посылаю такой запрос:[CODE]$orders = Bitrix\Sale\Order::getList([ 'select' => ['*','CNT'] ,'filter' => ['USER_ID' => $USER->GetID()] ,'order' => ['ID'=>'DESC'] ,'limit' => 21 ,'offset' => 10 ,'runtime' => array( new Entity\ExpressionField('CNT', 'COUNT(*)') ) ]); var_dump($orders->getSelectedRowsCount());[/CODE] печатается 21. Т.е. выдается конкретно величина limit Это получается придется сначала получить все заказы пользователя чтобы построить вручную пагинацию, а потом уже лимитировать на каждую страницу? Ощущение неправильности какое-то. Однако спасибо, Ваш вариант работает |
|
|
|
|
|
[QUOTE]Антон Еськов написал:
А как ты из полученного объекта потом забираешь массив и его перебираешь?[/QUOTE] да просто получаю заказ по айдишнику. На говно-код правда похоже, но нормального варианта не нашел[CODE] $orders = Bitrix\Sale\Order::getList([ 'select' => ['*','CNT'] ,'filter' => ['USER_ID' => $USER->GetID()] ,'order' => ['ID'=>'DESC'] ,'limit' => $nPageSize ,'offset' => $nPageSize*($nPage-1) ,'runtime' => array( new Entity\ExpressionField('CNT', 'COUNT(*)') ) ]); $arItems = []; foreach ($orders as $orderItem ) { $orderItems = $orderItem; $order = Sale\Order::load($orderItem['ID']); $basket = $order->getBasket(); /// потому что orderItem - это массив! ... } [/CODE] |
|
|
|
|
|
[QUOTE]Сергей . написал:
а зачем в скрипте 2 раза вызывается save?[/QUOTE] не знаю, тестил наверное что-то да убрать забыл. Он все равно не менял результат |
|
|
|
|