Как отсортировать коллекцию?
Приветствую, видимо я где то сильно туплю… но у меня не сортируются поля
Подскажите плиз что я не так сделал то?
$res = $pdo->getCollection('docsContract', array(), array(
'select' => array(
'docsContract' => '*',
),
'sortby' => array(
'id' => 'DESC',
),
));
в логе SQL prepared нету пункта ORDER BY…Подскажите плиз что я не так сделал то?
Комментарии: 5
А sortby принимает массив?
Хотя я таким стилем записи не пользовался никогда.
Хотя я таким стилем записи не пользовался никогда.
bezumkin.ru/training/course2/3006/ — взял от сюда:
т.е. сортирует по умолчанию
также в строке запроса появляется: ORDER BY docsContract.id ASC
$files = $pdo->getCollection('TicketFile', array(), array(
'innerJoin' => array(
'Ticket' => array(
'class' => 'Ticket',
'on' => 'Ticket.id = TicketFile.parent'
)
),
'select' => array(
'TicketFile' => '*',
'Ticket' => 'pagetitle'
),
'sortby' => array(
'TicketFile.id' => 'ASC'
)
));
echo '<pre>';
print_r($modx->getPlaceholder('pdoTools.log'));
print_r($files);
Если убираю 'sortby' => array(
'id' => 'DESC',
),
то в логе появляется Sorted by docsContract.id, ASC,т.е. сортирует по умолчанию
также в строке запроса появляется: ORDER BY docsContract.id ASC
Кстати, там в примере Василия,
также нету ничего в запросе связанного с сортировкой…
также нету ничего в запросе связанного с сортировкой…
0.0000322: xPDO query object created
0.0003891: innerJoined Ticket as Ticket
0.0001400: Added selection of TicketFile: SQL_CALC_FOUND_ROWS `id`, `parent`, `class`, `source`, `name`, `description`, `path`, `file`, `type`, `size`, `createdon`, `createdby`, `url`, `thumb`, `deleted`, `properties`, `hash`
0.0001042: Added selection of Ticket: `pagetitle`
0.0005560: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `TicketFile`.`id`, `TicketFile`.`parent`, `TicketFile`.`class`, `TicketFile`.`source`, `TicketFile`.`name`, `TicketFile`.`description`, `TicketFile`.`path`, `TicketFile`.`file`, `TicketFile`.`type`, `TicketFile`.`size`, `TicketFile`.`createdon`, `TicketFile`.`createdby`, `TicketFile`.`url`, `TicketFile`.`thumb`, `TicketFile`.`deleted`, `TicketFile`.`properties`, `TicketFile`.`hash`, `Ticket`.`pagetitle` FROM `modx_tickets_files` AS `TicketFile` JOIN `modx_site_content` `Ticket` ON Ticket.id = TicketFile.parent "
0.0023780: Total time
1 835 008: Memory usage
Видимо и вправду он не принимает массив…
'sortby' => 'docsContract.id',
'sortdir' => 'DESC'
так работает.
sortby из pdotools принимает json массив, если надо по нескольким полям отсортировать.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.