SYMFONY -- 生成 CRUD:实体不存在但已创建

SYMFONY -- Generate CRUD: entity doesn't exist but already created

我无法为我的实体生成 CRUD。

[[RuntimeException] "PlatypusBundle" 包中不存在实体 "Post"。您可能输入了错误的包名称或者实体尚不存在(首先使用 "doctrine:generate:entity" 命令创建它)。]

问题是,我已经生成了实体,当我尝试重新创建它时,它说它已经存在。 快把我逼疯。

所以,这是我的问题?我应该怎么做才能创建我的 CRUD?除了删除所有内容并尝试重新创建它之外,有人会有解决方案吗?

我已经尝试生成一个表单,但没有成功,说我的实体不存在。我检查了所有内容是否输入正确,我很确定是的。

提前致谢。

这个错误可能有很多原因:

1) 检查你的 Entity class:

/**
 * @ORM\Entity
 * @ORM\Table(name="post") // you have to check in Database exists or not?
 */
class Post

2) 您必须 运行 command 更新架构:

一个。 php bin/console doctrine:schema:update --dump-sql // 如果有一些变化显示你的状态数据库显示

b。如果您从数据库 运行 命令 php bin/console doctrine:schema:update --force

进行了一些更改

然后你可以运行CRUD命令。

找到问题了!

好的,所以我的问题是我创建了 2 个实体,但配置格式不同(一个在 YML 中,另一个在注释中)。所以确实,没有正确创建任何东西,Symfony 也没有得到差异。无论如何,我保存了我的项目,并使用良好的配置格式创建了新实体! 否则,KorozCo 的答案将是完美的解决方案!

对于那些使用 SonataAdminBundle 的人(比如我),我通过在 config.yml 中添加我的包解决了这个问题,更具体地说,这是代码:

orm:
    auto_generate_proxy_classes: '%kernel.debug%'
    entity_managers:
        default:
            mappings:

                ApplicationSonataUserBundle: ~
                SonataUserBundle: ~
                ApplicationSonataMediaBundle: ~
                SonataMediaBundle: ~
                ApplicationSonataClassificationBundle: ~
                SonataClassificationBundle: ~
                ApplicationSonataNewsBundle: ~
                SonataNewsBundle: ~
                BackBundle: ~
                MyCustomBundle: ~ # here I where I added my custom Bundle