Php Symfony2类不是有效的实体或映射的超类
我是symfony2新手,正在尝试在neatbeans中执行命令Php Symfony2类不是有效的实体或映射的超类,php,symfony,orm,doctrine,Php,Symfony,Orm,Doctrine,我是symfony2新手,正在尝试在neatbeans中执行命令 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.
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;
}
首先,在类名中使用CLass是不好的做法,请删除;) 1) 执行上述操作,然后重新运行 2) 如果仍然失败,那么出于某种原因,将config.yml改为
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: true
如果由于某种奇怪的原因失败了,那么您正在寻找一个超类,因此您必须执行以下操作
定义基类:
那就扩展你的课程
因为基类上缺少@MappedSuperclass注释,所以Doctrine会抛出您提到的异常。我做了修改,将错误更改为的
[Doctrine\ORM\MappingException]类“\backend\entityBundle\Entity\Rolname”子类“backend\entityBundle\Entity\Baseent”不是有效的实体或映射的超类。
OK这真是奇怪,因为您刚刚开始删除这两个实体。让我们重新开始(有时是最好的选择)。问题可能是netbeans让我们试试终端,你是在使用MAC、Windows还是UBUNTU之类的虚拟机?我在使用Windows 7。我又使用了5次以上。好吧,酷,打开你的termial,运行以下.cd到你的DocumentFolder///////php应用程序/控制台原则:生成:实体填写并完成接下来发生的事情?我明白了t是来自netbeans的错误。如果您在comand行中执行,它会工作。谢谢
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: true
/**
* @ORM\MappedSuperclass
*/
abstract class BaseRol
{
// base rol
}
/**
* @ORM\Entity
*/
class Rol extends Baserol
{
// rol
}