Pokud vaše Category
třída je ve jmenném prostoru, budete muset předat plně kvalifikovaný název třídy do fetchAll
.
Právě teď se PDO pokouší načíst do třídy Category
v kořenovém jmenném prostoru. to neexistuje. Musíte sdělit PDO o jmenném prostoru:
$stm->fetchAll(\PDO::FETCH_CLASS, 'Vendor\\Package\\Category');
Nebo použijte __NAMESPACE__
konstantní, pokud to usnadňuje (a je to správné):
$stm->fetchAll(\PDO::FETCH_CLASS, __NAMESPACE__ . '\\Category');
Nebo, ještě lépe, použijte ::class
PHP 5.5+ konstantní, abyste získali plně kvalifikovaný název třídy.
use Acme\Package\Category;
$stm->fetchAll(\PDO::FETCH_CLASS, Category::class);