Mysql
 sql >> Database >  >> RDS >> Mysql

PHP - recupero dello stmt preparato nella classe:classe di errore irreversibile non trovata

Se la tua Category la classe si trova in uno spazio dei nomi, dovrai passare un nome di classe completo in fetchAll .

In questo momento, PDO sta cercando di recuperare nella classe Category nello spazio dei nomi radice. Non esiste. Devi comunicare a PDO lo spazio dei nomi:

$stm->fetchAll(\PDO::FETCH_CLASS, 'Vendor\\Package\\Category');

Oppure usa un __NAMESPACE__ costante se questo lo rende più semplice (ed è corretto):

$stm->fetchAll(\PDO::FETCH_CLASS, __NAMESPACE__ . '\\Category');

O, ancora meglio, usa ::class di PHP 5.5+ costante per ottenere il nome completo della classe.

use Acme\Package\Category;
$stm->fetchAll(\PDO::FETCH_CLASS, Category::class);