在误解我有一点学说ORM代码如下所示:命名空间主义实体名称解析
$query = $this->entityManager->createQuery('SELECT c FROM specialty\models\entities\Clan c WHERE c.Id = ?1');
这段代码没有问题一直为年龄。我最近重新安装了我的LAMP堆栈环境和我的Netbeans IDE,只是从SVN中检出代码。然而,现在的这段代码抛出了以下错误:
exception 'Doctrine\ORM\Query\QueryException' with message '[Semantical Error] line 0, col 14 near 'specialty\modelsentities\Clan': Error: Class 'specialty\modelsentities\Clan' is not defined here.'
望着错误信息,存在丢失的“\”“模式”和“实体”之间。虽然这应该是'模型\实体',但它被'看作'模型 - 这肯定不存在 - 因此是错误。
出于某种奇怪的原因,斜杠在剥离代码之前就被剥离了,我想。问题是,我一直无法找到原因。我观察到,当WHEN子句从语句,像这样删除的问题消失:我试图逃跑可能不可见的控制字符
$query = $this->entityManager->createQuery('SELECT c FROM specialty\models\entities\Clan c');
,检查线索在php.ini新的环境设置(例如)以什么可能是错误的原因。请帮忙,谢谢。
如何使用交互式调试器找出它在原理库上发生的位置? – 2012-03-27 22:48:51
如何为您的实体声明一个名称空间? (至少尝试一些东西),尝试在Clan类声明的顶部添加'namespace specialty \ modelsentities \ Clan'来查看会发生什么 – jere 2012-03-28 14:13:12
@Keyne:我尝试使用xdebug,但无法追踪它。不确定在MVC应用程序上使用xDebug的最佳方式。谢谢 – 2012-03-28 14:31:02