Php 使用条令2 ORM未找到目标实体
在ZF2项目中,我有一个具有以下属性定义的“产品”实体:Php 使用条令2 ORM未找到目标实体,php,doctrine-orm,zend-framework2,Php,Doctrine Orm,Zend Framework2,在ZF2项目中,我有一个具有以下属性定义的“产品”实体: /** * @ORM\OneToMany(targetEntity="Admin\Entity\Stock\Stock", mappedBy="product", cascade={"persist", "merge", "remove"}) **/ protected $stocks; 以及拥有该财产的股份实体: /** * * @ORM\ManyToOne(targetEntity="Admin\Entity\Product
/**
* @ORM\OneToMany(targetEntity="Admin\Entity\Stock\Stock", mappedBy="product", cascade={"persist", "merge", "remove"})
**/
protected $stocks;
以及拥有该财产的股份实体:
/**
*
* @ORM\ManyToOne(targetEntity="Admin\Entity\Product\Product", inversedBy="stocks", cascade={"persist", "merge"})
*/
protected $product;
当我调用/供应商/条令/条令模块/bin/条令模块orm:schema工具:create
我有一个错误:
[Doctrine\ORM\Mapping\MappingException]
The target-entity Admin\Entity\Product\Stock cannot be found in 'Admin\Entity\Product\Product#stocks'.
以前,stock实体位于Admin\entity\Product
名称空间中,但我移动了它并更改了名称空间定义
我不明白。。。任何帮助都将是蒙克,非常感谢我找到了解决方案 在生产服务器上,使用memcache配置条令
'driver' =>
[
'sympass_annotation_driver' =>
[
'cache' => 'memcached',
],
'accounting_annotation_driver' =>
[
'cache' => 'memcached',
],
'admin_administrative_annotation_driver' =>
[
'cache' => 'memcached',
],
],
要刷新缓存,请执行以下操作:
telnet localhost 11211
并键入flush\u all
希望它能帮助某人可能是条令不喜欢位于同一实体文件夹下的名称空间?您在每个实体中使用的名称空间定义是什么?
namespace Admin\entity\Stock
和名称空间管理\实体\产品
奇怪的想法是,当我在本地系统(macOS)上启动orm:schema工具:create
命令时,它工作得非常好!在服务器系统(Debian wheezy)上,它失败了……如果您将所有实体名称空间更改回just\entity,那么它在您的服务器上工作吗?每个系统运行的条令版本是什么?