Symfony2.8 and Doctrine2 issue


Symfony2.8 and Doctrine2 issue

我这里一定少了什么。我从数据库中删除了一个表,并从symfony项目中删除了该表的实体文件。接下来,我创建了同名的表,并让条令从该表中重新创建实体。一切都很顺利。值得一提的是,列名已经更改,但表名是相同的。当我调整trick和controller中的所有变量名并运行代码时,我得到了这个错误:Property AppBundle'Entity'WeatherSpecials::$df_per does not exist但$df_per不再在代码中的任何位置,我删除了它,它存在于旧实体中,但不在新实体中。这是怎么发生的,符号或学说如何记住旧变量并在错误中引用它。我觉得我真的错过了什么。

原因可能是它存在于缓存中。尝试清除缓存。

php app/console cache:clear --env=[ENV]

好的,我重命名了实体,现在它可以工作了,但见鬼去吧。有人一定了解这个东西是如何"记住"它必须以某种方式将其存储在某个地方的。

检查Doctrine是否创建了映射数据库结构的XML文件。也许它做到了这一点,而且如果您删除实体,Doctrine将继续使用xml文件,而不是重新创建它们。

来自Symfony的食谱:

从现有实体类构建实体类的第一步数据库是要求条令对数据库进行反思并生成相应的元数据文件。元数据文件描述实体类基于表字段生成。

$ php bin/console doctrine:mapping:import --force AcmeBlogBundle xml

该命令行工具要求条令对数据库进行内省在src/Acme/BlogBundle/Resources/config/donity文件夹。这会生成两个文件:BlogPost.orgm.xml和BlogComment.orgm.xml.