在文件系统中移动类后,“类 XXX 不是有效的实体或映射的超类”

2022-08-30 07:26:19

我在 Aib\PlatformBundle\Entity\User 中有一个实体类.php

我在尝试通过以下方式创建其表单类时没有问题

php app/ console doctrine:generate:form AibPlatformBundle:User

现在,我已将命名空间更改为 Aib\PlatformBundle\Entity\Identity\User,但是当我尝试使用我之前所说的任务生成表单时,它说:

“类 Aib\PlatformBundle\Entity\User 不是有效的实体或映射的超类。

这是文件内容:

<?php
namespace Aib\PlatformBundle\Entity\Identity;

use Doctrine\ORM\Mapping as ORM;

    /**
     * Aib\PlatformBundle\Entity\Identity\User
     *
     * @ORM\Table()
     * @ORM\Entity(repositoryClass="Aib\PlatformBundle\Entity\Identity
    \UserRepository")
     */
    class User
    {
    ...

有什么想法吗?

symfony2.0.4


答案 1

有这个问题 - 不要忘记下面的注释:* @ORM\Entity

/**
 * Powma\ServiceBundle\Entity\User
 *
 * @ORM\Entity
 * @ORM\Table(name="users")
 */

答案 2

昨天有这个问题,发现了这个线程。我在一个新的捆绑包中创建了带有映射的实体(例如MyFooBundle/Entity/User.php),根据文档进行了所有配置,但在尝试加载应用程序时得到了相同的错误。

最后我意识到我没有在AppKernel中加载MyFooBundle:

new My\FooBundle\MyFooBundle()

调试此命令的一个好方法是运行以下命令:

app/console doctrine:mapping:info

推荐