将 symfony 3.4 迁移到 4.4:Doctrine MappingException 不是有效实体或映射的超级 class 问题
Migrating symfony 3.4 to 4.4: Doctrine MappingException not a valid entity or mapped super class issue
我已经从 Symfony 3.4 迁移到 4.4 并从使用包转移到 /src/目录。
当我查询实体时,Doctrine 抛出异常:
$regions = $this->getDoctrine()->getRepository(Regions::class);
$regionInfo = $regions->findOneBy(array('region' => strtolower($regionSearch)));
Result:
Uncaught PHP Exception Doctrine\ORM\Mapping\MappingException: "Class "App\Entity\Regions" is not a valid entity or mapped super class."
这是实体:
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="Regions")
*/
/**
* Regions
*/
class Regions
{
/** properties ... */
}
我想知道这是否是因为找不到 bundle/Resources
中的 orm.xml
?
use Doctrine\ORM\Mapping as ORM
也未使用。
您的注释应设置在 class 声明的正上方:
/**
* Regions
* @ORM\Entity
* @ORM\Table(name="Regions")
*/
class Regions
对于你当前的文件,只有第一个文档块被读取并且因为它缺少 @ORM\Entity
注释,Doctrine 认为它不是一个有效的实体 class.
我已经从 Symfony 3.4 迁移到 4.4 并从使用包转移到 /src/目录。 当我查询实体时,Doctrine 抛出异常:
$regions = $this->getDoctrine()->getRepository(Regions::class);
$regionInfo = $regions->findOneBy(array('region' => strtolower($regionSearch)));
Result: Uncaught PHP Exception Doctrine\ORM\Mapping\MappingException: "Class "App\Entity\Regions" is not a valid entity or mapped super class."
这是实体:
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="Regions")
*/
/**
* Regions
*/
class Regions
{
/** properties ... */
}
我想知道这是否是因为找不到 bundle/Resources
中的 orm.xml
?
use Doctrine\ORM\Mapping as ORM
也未使用。
您的注释应设置在 class 声明的正上方:
/**
* Regions
* @ORM\Entity
* @ORM\Table(name="Regions")
*/
class Regions
对于你当前的文件,只有第一个文档块被读取并且因为它缺少 @ORM\Entity
注释,Doctrine 认为它不是一个有效的实体 class.