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