Category
の場合 クラスは名前空間にあるため、完全修飾クラス名をfetchAll
に渡す必要があります 。
現在、PDOはクラスCategory
にフェッチしようとしています。 ルート名前空間で。存在しません。名前空間についてPDOに通知する必要があります:
$stm->fetchAll(\PDO::FETCH_CLASS, 'Vendor\\Package\\Category');
または、__NAMESPACE__
を使用します それが簡単になる(そして正しい)場合は一定:
$stm->fetchAll(\PDO::FETCH_CLASS, __NAMESPACE__ . '\\Category');
または、さらに良いことに、PHP5.5+の::class
を使用します 完全修飾クラス名を取得するための定数。
use Acme\Package\Category;
$stm->fetchAll(\PDO::FETCH_CLASS, Category::class);