Я новичок в 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: ~
Во-первых, это плохая практика — использовать 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 выдает исключение, которое вы упомянули.
Других решений пока нет …