К содержанию

Как вывести все уникальные значения ТВ?

Допустим есть ТВ-параметр view.
Как вывести все его неповторяющиеся значения?
Не хотелось бы вручную через старые sql-запросы выводить все значения из таблицы `modx_site_content` и проверять на уникальность.
Я сделаю и так, но хочу сначала спросить, есть возможность сделать то же самое, но через запросы PDO или через сниппеты pdoTools?
Василий Столейков
Василий Столейков
17 апреля 2014, 08:26
modx.pro
3 162
Реклама

Комментарии: 5

Василий Наумкин
Василий Наумкин Администратор
17 апреля 2014, 12:38
<?php
$tvid = 2; // id нужного ТВ
$pdo = $modx->getService('pdoFetch');
$tvs = $pdo->getCollection('modTemplateVarResource', array('tmplvarid' => $tvid), array(
	'select' => array('DISTINCT(value)'),
	'limit' => 10
));
echo '<pre>'; echo $modx->getPlaceholder('pdoTools.log'); echo '</pre>';
print_r($tvs);
    Василий Столейков
    Василий Столейков Проверенный
    17 апреля 2014, 12:40
    Уау, спасибо огромное за быстрое решение!
    Павел Романов
    Павел Романов Проверенный
    18 апреля 2014, 13:19
    Очень полезная штука, спасибо.
    Но у меня выдает:
    .......
    0.0002401: Could not process query, error #1054: Unknown column 'SQL_CALC_FOUND_ROWS' in 'field list'
    .......
    Array ( )
      Василий Наумкин
      Василий Наумкин Администратор
      18 апреля 2014, 17:34
      Проверь версию pdoTools, если ниже 1.9.2-pl2 — нужно обновиться.
        Павел Романов
        Павел Романов Проверенный
        18 апреля 2014, 17:48
        Да, заработало.
        Спасибо!
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5