所以我似乎困扰于只影响Symfony而不是开发模式的生产模式的问题。这一次,我有一个ManyToOne关联,我试图只抓取那些没有关联的实体(即它们在数据库中有一个NULL值)。这与我在开发移动时所期望的完全一样,但在prod模式下,Doctrine会抛出一个“无法识别的字段”异常......对于绝对存在的字段。学说2.5:无法识别的领域(但只在Symfony的产品模式)
这里的实体问题的相关部分(page.php文件):
/**
* @ORM\ManyToOne(targetEntity="Project", inversedBy="pages")
* @ORM\JoinColumn(name="project_id", referencedColumnName="ID")
*/
protected $project;
这里是从控制器相关行(PageController.php):
$pages = $this->getDoctrine()->getRepository('JCScopingBundle:Page')->findBy(['project' => null]);
同样,这完美地使用app_dev.php(即开发模式),但使用app.php(即产品模式),我不断收到“无法识别的领域”的例外。是什么赋予了?
更新:我向同一个实体添加了“权重”整数字段,并且该字段在prod
模式下也不能识别。这意味着我不能使用prod
模式,这意味着我无法将更改上传到远程服务器。真的在这里泡菜...
如果在'dev'环境中有效,而不是'prod',它会被大部分时间缓存。你有缓存:清除--env = prod --no-debug'? – ccKep
说实话,在我的本地机器上,通过GUI文件系统删除'prod'缓存文件夹通常更容易,然后重新加载页面。我不止一次地完成了这一步,并得到了同样的结果。上次我只有一个“prod”问题,这是Symfony中的一个错误,最终由官方补丁修复。 – willherzog
我只是尝试命令行方法,并得到了相同的结果。 – willherzog