Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

PHP - buscando stmt preparado na classe:classe Fatal Error não encontrada


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