вывод всех опций из категории
Добрый день!
Написал снипет, который должен выбирать все опции из категории. Он запрос делает правильный, но почему то результирующий массив пуст. Хотя если этот же запрос выполнить в phpmyadmin то все нормально выводится
Запрос в итоге —
Но если сделать print_r($res) — ПУСТО!
Подскажите пожалуйста — в чем ошибся?
Еще выяснилось, что любой запрос к msOption выводит пустой результат, даже такой —
Но прямой запрос — работает!!!
Написал снипет, который должен выбирать все опции из категории. Он запрос делает правильный, но почему то результирующий массив пуст. Хотя если этот же запрос выполнить в 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'] . ' | ';
}
Комментарии: 1
Попробуйте через xpdo
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.