2014-09-29 129 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

相關問題