После нескольких месяцев работы, я получаю эту ошибку, когда пытаюсь запустить команду с терминала. «X» - это пользовательский объект, расширяющий FOSUserBundle.Symfony2 - Класс X не является допустимым сущностью или отображенным суперклассом
Рассматривая некоторые из подобных вопросов здесь, общие ошибки кажутся неправильными аннотациями, а не регистрацией пакета в AppKernel или невозможностью включения auto_mapping в конфигурации.
Запускается класса пользователь (я не думаю, что свойства нужны?), Как это:
<?php
namespace Acme\UserBundle\Entity;
use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity
* @ORM\Table()
*/
class User extends BaseUser
{
// ...
}
Расслоение зарегистрирован в AppKernel:
$bundles = array(
// ...
new Acme\UserBundle\UserBundle(),
// ...
);
Автоматическое отображение включено (и не отключены в конфигурациях _prod или _dev), как вы можете видеть здесь:
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
orm:
auto_generate_proxy_classes: %kernel.debug%
auto_mapping: true
Pl нам FOSUserBundle сообщается правильному объекту:
fos_user:
db_driver: orm
firewall_name: main
user_class: Acme\UserBundle\Entity\User
Не работает?
Я наткнулся на один вопрос здесь, где он был разрешен путем отключения eAccelerator. У нас есть Eaccelerator работает на сервере, но после очистки кэша я проверил локальное значение на выходе phpinfo() отключена при выполнении команды, как уже ожидалось:
eaccelerator.enable => 0 => 1
eaccelerator.optimizer => 0 => 1
Когда я бегу doctrine:mapping:info
команда Я вижу, что мой UserBundle отсутствует. Я в полной мере проигрываю здесь, что отсутствует или неверно. Есть ли у кого-нибудь предложения? Стоит отметить, что интерфейс веб-сайта отлично работает, и он использует объект User.
Вы пытались вручную указать местоположение сопоставления + тип (аннотация) вручную в 'config.yml'? Ключ конфигурации - 'doctrine.orm.entity_managers. <Имя-менеджера> .mapping' - см. [Ссылка на конфигурацию] (http://symfony.com/doc/current/reference/configuration/doctrine.html). ** дважды проверьте ** ваши пространства имен и очистите кеш. Пожалуйста, сообщите потом: – nifr