Тогда очень странное поведение. Хотя еще вариант: проверь-ка запрос в процессоре. Параметр parent=$id вызывает сомнения. Надежней [ «where» => [ «parent» => $id ] ]
Для четкой отладки пиши в процессоре так:
public function prepareQueryBeforeCount(xPDOQuery $c) { $c = parent::prepareQueryBeforeCount($c); $c->prepare(); print $c->toSQL(); exit; return $c; }
Так ты увидишь реальный SQL-запрос при выполнении этого процессора. Можешь убрать exit, чтобы процесс не обламывался, и вы всегда видел выполняется процесс или нет.