Разные результаты запроса через PDO и xPDO

Не пойму в чем проблема, вроде один и тот же запрос и разные результаты:
$id=27;
$prefix = $modx->getOption('table_prefix');
//xPDO
$q = $modx->newQuery('msopModification');
$q->select('msopModification.name, 
            msopModification.type,
            msopModification.price, 
            msopModification.old_price,
            msopModification.article');
$q->where(array('msopModification.rid:=' => $id));
$q->prepare();
$q->stmt->execute();
$res = $q->stmt->fetch(PDO::FETCH_ASSOC);
echo "xPDO Result:<pre>";
print_r($res);
echo "</pre>";
//PDO
$sql="SELECT name, type, price, old_price, article FROM `{$prefix}msop_modifications` WHERE rid = {$id}";
$statement = $modx->query($sql);
$res = $statement->fetchAll(PDO::FETCH_ASSOC);
echo "PDO Result:<pre>";
print_r($res);
echo "</pre>";
Вот какой результат получаю:
xPDO Result:
Array
(
    [name] => 
    [type] => 2
    [price] => 777
    [old_price] => 1000
    [article] => 
)
PDO Result:
Array
(
    [0] => Array
        (
            [name] => 
            [type] => 2
            [price] => 777
            [old_price] => 1000
            [article] => 
        )

    [1] => Array
        (
            [name] => 
            [type] => 2
            [price] => 200
            [old_price] => 2000
            [article] => 
        )

)
Очевидно, что второй результат верный. Пробовал limit указать, изменений никаких. Кто-нибудь может сказать, что не так?
Евгений Ц.
23 июля 2020, 01:44
modx.pro
1
1 092
0

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

Артем
23 июля 2020, 04:41
+3
$res = $q->stmt->fetch(PDO::FETCH_ASSOC);
fetchAll
    Евгений Ц.
    23 июля 2020, 09:58
    0
    Да уж, наверное, не стоит допоздна за компом засиживаться :) Спасибо!
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2