Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP - извличане на подготвен stmt в клас:Класът за фатална грешка не е намерен

Ако вашата Category класът е в пространство от имена, ще трябва да предадете напълно квалифицирано име на клас в fetchAll .

В момента PDO се опитва да извлече в класа Category в основното пространство от имена. То не съществува. Трябва да кажете на PDO за пространството от имена:

$stm->fetchAll(\PDO::FETCH_CLASS, 'Vendor\\Package\\Category');

Или използвайте __NAMESPACE__ постоянно, ако това го прави по-лесно (и е правилно):

$stm->fetchAll(\PDO::FETCH_CLASS, __NAMESPACE__ . '\\Category');

Или, още по-добре, използвайте ::class на PHP 5.5+ константа за получаване на пълното име на класа.

use Acme\Package\Category;
$stm->fetchAll(\PDO::FETCH_CLASS, Category::class);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка при използване на персонализирана DQL функция с Doctrine и Symfony2

  2. MySQL сървърът е изчезнал по време на обхождане в Perl

  3. Как да коригирате ГРЕШКА 1130 (HY000):На хоста не е разрешено да се свърже с този MySQL сървър

  4. PHP низови разлики и динамични ограничения

  5. Как да проектираме MySql таблица за облак от маркери?