вывод всех опций из категории

Добрый день!

Написал снипет, который должен выбирать все опции из категории. Он запрос делает правильный, но почему то результирующий массив пуст. Хотя если этот же запрос выполнить в phpmyadmin то все нормально выводится

<?php
$q = $modx->newQuery('msOption');
$q->leftJoin('msCategoryOption', 'msCategoryOption', 'msCategoryOption.option_id=msOption.id');
$q->select(array(
    $this->modx->getSelectColumns('msOption', 'msOption'),
    $this->modx->getSelectColumns('msCategoryOption', 'msCategoryOption', '', array('id', 'option_id'),
        true),
));

$q->where(array(
            'msCategoryOption.category_id' => 9,
        ));
        
$q->prepare();
$q->stmt->execute();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
echo $q->toSQL();


Запрос в итоге —
SELECT `msOption`.`id`, `msOption`.`key`, `msOption`.`caption`, `msOption`.`description`, `msOption`.`measure_unit`, `msOption`.`category`, `msOption`.`type`, `msOption`.`properties`, `msCategoryOption`.`category_id`, `msCategoryOption`.`rank`, `msCategoryOption`.`active`, `msCategoryOption`.`required`, `msCategoryOption`.`value` FROM `modx_ms2_options` AS `msOption` LEFT JOIN `modx_ms2_category_options` `msCategoryOption` ON msCategoryOption.option_id=msOption.id WHERE `msCategoryOption`.`category_id` = '9'
если в phpmyadmin —

Но если сделать print_r($res) — ПУСТО!

Подскажите пожалуйста — в чем ошибся?

Еще выяснилось, что любой запрос к msOption выводит пустой результат, даже такой —
$q = $modx->newQuery('msOption', array('id:>' => 0));
$q->prepare();
$q->stmt->execute();
echo $q->toSQL();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($res as $v) {
	echo $v['key'];
}
результат —

Но прямой запрос — работает!!!
$sql = "SELECT op.*, catop.* FROM `modx_ms2_options` as op LEFT JOIN `modx_ms2_category_options` as catop on op.id = catop.option_id where catop.category_id = 9";
$q = $modx->prepare($sql);
$q->execute();
$res = $q->fetchAll(PDO::FETCH_ASSOC);

foreach ($res as $v) {
	echo $v['key'] . ' | ';
}
Евгений
11 декабря 2018, 19:48
modx.pro
751
0

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

Vlad Brise
12 декабря 2018, 14:25
+2
Попробуйте через xpdo
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1