【发布时间】:2011-09-21 05:02:28
【问题描述】:
我正在尝试让 CI 2 和 Doctrine 2 一起工作,到目前为止一切正常。但是我现在有一个关于代理类的问题。
由于某种原因,代理类正在寻找我没有的映射文件。这是正常行为吗?
我得到的例外是:
'No mapping file found named 'proxies.modelsUserProxy.dcm.xml' for class 'proxies\modelsUserProxy'.'
我必须自己为代理类编写映射吗? :/
我将在此处粘贴一些代码:
// Proxy configuration
$config->setProxyDir(APPPATH.'proxies');
$config->setProxyNamespace('proxies');
$config->setAutoGenerateProxyClasses( TRUE );
xml映射在:mappings/models.User.dcm.xml
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="models\User">
...
</entity>
有这方面的信息吗?
【问题讨论】:
-
我在我的 DOC2 设置中使用自动生成代理,并且没有丢失映射文件的问题。你确定你的环境设置对了吗?您是否引用了一个不存在的模型? (因此无法生成代理?)
-
模型确实存在,所有类都正确生成。使用 CLI,我还可以正确生成代理。我已经设置了自动加载器来加载它们,所以这也不应该是问题。
标签: php codeigniter doctrine doctrine-orm