Jeśli Twoja Category
klasa znajduje się w przestrzeni nazw, musisz przekazać w pełni kwalifikowaną nazwę klasy do fetchAll
.
W tej chwili PDO próbuje pobrać do klasy Category
w głównej przestrzeni nazw. Nie istnieje. Musisz poinformować PDO o przestrzeni nazw:
$stm->fetchAll(\PDO::FETCH_CLASS, 'Vendor\\Package\\Category');
Lub użyj __NAMESPACE__
stałe, jeśli to ułatwia (i jest poprawne):
$stm->fetchAll(\PDO::FETCH_CLASS, __NAMESPACE__ . '\\Category');
Lub, jeszcze lepiej, użyj ::class
PHP 5.5+ stała, aby uzyskać w pełni kwalifikowaną nazwę klasy.
use Acme\Package\Category;
$stm->fetchAll(\PDO::FETCH_CLASS, Category::class);