Бывает приходится использовать кастомные xPDO модели таблиц, и тут в некоторых местах могут возникнуть ошибки. Для поиска и отладки таких ошибок можно юзать следующий код.

<?php

$custom = $modx->newObject('CustomClass', ['customcol'=>2]);
 
$modx->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
    $custom->set('collol',123);
    $custom->save();
} catch (PDOException $e) {
     $modx->log(modX::LOG_LEVEL_ERROR, "xPDO Exception: {$pe->getMessage()}. Model:". print_r( $custom->toArray(), 1));
}
$modx->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);

По итогу получаем в логе ошибок modx текст ошибки и дамп массива модели. Учень удобно