我是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.
班级:
<?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;
}
在此页面中搜索信息我尝试修改app / config.yml:
orm:
auto_generate_proxy_classes: "%kernel.debug%"
default_entity_manager: default
entity_managers:
default:
mappings:
backendstoreBundle: ~
答案 0 :(得分:2)
首先在你的班级名称中使用CLass是不好的做法,请删除;)
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注释,所以Doctrine会抛出您提到的异常。