Si votre Category
classe est dans un espace de noms, vous devrez passer un nom de classe complet dans fetchAll
.
En ce moment, PDO essaie d'aller chercher dans la classe Category
dans l'espace de noms racine. Il n'existe pas. Vous devez informer PDO de l'espace de noms :
$stm->fetchAll(\PDO::FETCH_CLASS, 'Vendor\\Package\\Category');
Ou utilisez un __NAMESPACE__
constant si cela facilite les choses (et est correct):
$stm->fetchAll(\PDO::FETCH_CLASS, __NAMESPACE__ . '\\Category');
Ou, encore mieux, utilisez le ::class
de PHP 5.5+ constante pour obtenir le nom complet de la classe.
use Acme\Package\Category;
$stm->fetchAll(\PDO::FETCH_CLASS, Category::class);