Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2.8和Doctrine2版本_Php_Symfony_Doctrine Orm - Fatal编程技术网

Php Symfony2.8和Doctrine2版本

Php Symfony2.8和Doctrine2版本,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我一定是遗漏了什么。我从数据库中删除了一个表,并从symfony项目中删除了该表的实体文件。接下来,我创建了一个同名的表,并让Dority从该表中重新创建实体。一切顺利。值得一提的是列名发生了变化,但表名是相同的。 当我去调整twig和controller中的所有变量名并运行代码时,我得到了以下错误:属性AppBundle\Entity\WeatherSpecials::$df_per不存在但是$df_per不再在代码中的任何位置,我删除了它,它存在于旧实体中,但不存在于新实体中。这是如何发生的

我一定是遗漏了什么。我从数据库中删除了一个表,并从symfony项目中删除了该表的实体文件。接下来,我创建了一个同名的表,并让Dority从该表中重新创建实体。一切顺利。值得一提的是列名发生了变化,但表名是相同的。
当我去调整twig和controller中的所有变量名并运行代码时,我得到了以下错误:
属性AppBundle\Entity\WeatherSpecials::$df_per不存在
但是$df_per不再在代码中的任何位置,我删除了它,它存在于旧实体中,但不存在于新实体中。这是如何发生的,symfony或doctrine如何记住旧变量并在错误中引用它。我觉得我真的错过了一些东西。

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

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

好的,我重命名了实体,现在它可以工作了,但这又是怎么回事。有些人已经了解了这个东西是如何“记住”它必须以某种方式存储在某处的。

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

从:

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

$php bin/console原则:映射:导入--force AcmeBlogBundle xml

此命令行工具要求Doctrine对数据库和 在下生成XML元数据文件 包的src/Acme/BlogBundle/Resources/config/doctor文件夹。 这将生成两个文件:BlogPost.orm.xml和blogcoment.orm.xml


做了几次,甚至删除了整个/app/cache文件夹<代码>关键-未捕获的PHP异常ReflectionException:“Property AppBundle\Entity\WeatherSpecials::$df_per不存在”位于/var/www/symfony/project2/vendor/doctrine/common/lib/doctrine/common/Persistence/Mapping/RuntimeReflectionService.PHP第80行@user1529918是否确实检查了正确的源代码?就像丢失了将开发代码同步到部署的机器一样。我在本地机器上做这件事,没有同步或任何阻碍。有什么好方法可以开始对此进行故障排除吗?显示
grep-rin-df_per/var/www/symfony/project2
xfloyd@ubuntu14:/var/www/symfony/project2$grep-rin df_per/var/www/symfony/project2/var/www/symfony/project2/src/AppBundle/Entity/WeatherSpecials.php:27:@ORM\Column(name=“df_per”,type=“boolean”,nullable=true)/var/www/symfony/project2/src/AppBundle/Entity/WeatherSpecials.php~:27:@ORM\Column(name=“df_per”,type=“boolean”,nullable=true)
您是否尝试过通过控制台symfony清除缓存?是否重新启动了php服务器以清除任何OpCache?这就是这里的问题,APC缓存必须清除,因为缓存该变量的原则中的UnitofWork。