Mysql
 sql >> Base de données >  >> RDS >> Mysql

PHP - récupération de stmt préparé dans la classe :classe d'erreur fatale introuvable

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);