Nếu Category
của bạn lớp nằm trong không gian tên, bạn sẽ cần chuyển tên lớp đủ điều kiện vào fetchAll
.
Ngay bây giờ, PDO đang cố gắng tìm nạp vào lớp Category
trong không gian tên gốc. Nó không tồn tại. Bạn cần cho PDO biết về không gian tên:
$stm->fetchAll(\PDO::FETCH_CLASS, 'Vendor\\Package\\Category');
Hoặc sử dụng __NAMESPACE__
không đổi nếu điều đó làm cho nó dễ dàng hơn (và chính xác):
$stm->fetchAll(\PDO::FETCH_CLASS, __NAMESPACE__ . '\\Category');
Hoặc, tốt hơn nữa, hãy sử dụng ::class
của PHP 5.5 + không đổi thành ge tên lớp đủ điều kiện.
use Acme\Package\Category;
$stm->fetchAll(\PDO::FETCH_CLASS, Category::class);