Als uw Category
class zich in een naamruimte bevindt, moet u een volledig gekwalificeerde klassenaam doorgeven aan fetchAll
.
Op dit moment probeert PDO op te halen in de klasse Category
in de rootnaamruimte. Het bestaat niet. Je moet PDO vertellen over de naamruimte:
$stm->fetchAll(\PDO::FETCH_CLASS, 'Vendor\\Package\\Category');
Of gebruik een __NAMESPACE__
constant als dat het makkelijker maakt (en correct is):
$stm->fetchAll(\PDO::FETCH_CLASS, __NAMESPACE__ . '\\Category');
Of, nog beter, gebruik PHP 5.5+'s ::class
constant om de volledig gekwalificeerde klassenaam te krijgen.
use Acme\Package\Category;
$stm->fetchAll(\PDO::FETCH_CLASS, Category::class);