2014-09-29 106 views
0

我是新来的Symfony2并试图execte在neatbeans命令Symfony2的类不是有效的实体或映射超类

console doctrine:generate:entities /backend/storeBundle/Entity/RolClass 

它显示的错误:

[Doctrine\ORM\Mapping\MappingException] 
Class "\backend\storeBundle\Entity\RolClass" is not a valid entity or 
mapped super class.                

类:

<?php 
namespace backend\storeBundle\Entity; 
use Doctrine\ORM\Mapping as ORM; 
/** 
* @ORM\Entity 
* @ORM\Table(name="nomrol") 
*/ 
    class RolClass { 
/** 
* @ORM\Column(type="integer") 
* @ORM\Id 
* @ORM\GeneratedValue(strategy="AUTO") 
*/ 
protected $id; 
/** 
* @ORM\Column(type="string",length=100) 
*/ 
protected $namerolcust; 
} 

在此搜索页面上的信息,我试图修改应用程序/ config.yml:

orm: 
    auto_generate_proxy_classes: "%kernel.debug%" 
    default_entity_manager: default 
    entity_managers: 
     default: 
      mappings: 
       backendstoreBundle: ~ 

回答

2

首先,它是不好的做法,在你的类名使用类,请删除;)

1)做的,然后重新运行

2)如果仍然失败,那么对于一些上述那么原因改变你config.yml到

 orm: 
     auto_generate_proxy_classes: "%kernel.debug%" 
     auto_mapping: true 

现在,如果失败了,你的学说是寻找一个超类,所以你将不得不做以下一些奇怪的原因。

定义的基类:

/** 
* @ORM\MappedSuperclass 
*/ 
abstract class BaseRol 
{ 
    // base rol 
} 

然后扩展您的类

/** 
* @ORM\Entity 
*/ 
class Rol extends Baserol 
{ 
    // rol 
} 

因为你错过了在基类的@MappedSuperclass注解,学说投你提到的例外。

+0

我做了修改错误更改为[Doctrine \ ORM \ Mapping \ MappingException] “backend \ entityBundle \ Entity \ Baseent”的子类“\ backend \ entityBundle \ Entity \ Rolname”不是有效的实体或映射的超类。“#: – 2014-09-29 09:45:21

+0

好吧,这真的很奇怪,因为你刚开始删除这两个实体。让我们重新开始(有时是最好的选择)。问题可能是netbeans让我们尝试一个终端,你使用的是MAC,Windows还是虚拟机,比如UBUNTU? – 2014-09-29 09:48:20

+0

我使用的是Windows 7,并且我再次列出了5次以上。 – 2014-09-29 09:51:30

相关问题