Se sua
Category
class está em um namespace, você precisará passar um nome de classe totalmente qualificado para fetchAll
. No momento, o PDO está tentando buscar na classe
Category
no namespace raiz. Não existe. Você precisa informar ao PDO sobre o namespace:$stm->fetchAll(\PDO::FETCH_CLASS, 'Vendor\\Package\\Category');
Ou use um
__NAMESPACE__
constante se isso torna mais fácil (e está correto):$stm->fetchAll(\PDO::FETCH_CLASS, __NAMESPACE__ . '\\Category');
Ou, melhor ainda, use o
::class
do PHP 5.5+ constante para obter o nome da classe totalmente qualificado. use Acme\Package\Category;
$stm->fetchAll(\PDO::FETCH_CLASS, Category::class);