Om din Category
klass är i ett namnområde, måste du skicka in ett fullt kvalificerat klassnamn till fetchAll
.
Just nu försöker PDO hämta in i klassen Category
i rotnamnutrymmet. Det finns inte. Du måste berätta för PDO om namnområdet:
$stm->fetchAll(\PDO::FETCH_CLASS, 'Vendor\\Package\\Category');
Eller använd en __NAMESPACE__
konstant om det gör det lättare (och är korrekt):
$stm->fetchAll(\PDO::FETCH_CLASS, __NAMESPACE__ . '\\Category');
Eller, ännu bättre, använd PHP 5.5+s ::class
konstant för att få det fullt kvalificerade klassnamnet.
use Acme\Package\Category;
$stm->fetchAll(\PDO::FETCH_CLASS, Category::class);