Symfony2 FOS用户不是有效实体

时间:2012-01-02 12:40:17

标签: symfony fosuserbundle

我不确定我在这里做错了什么。

我正在遵循有关如何安装fos软件包的说明并遇到了问题。

我收到以下错误:

  

PHP致命错误:未捕获的异常   带有消息'Class的'Doctrine \ ORM \ Mapping \ MappingException'   RS \ Entity \ User不是有效的实体或映射的超类。在   PATH \厂商\教义\ lib中\学说\ ORM \映射\ MappingException.php:142

我的用户类位于/src/RS/Entity/User.php

我在'RS' => __DIR__.'/../vendor/reportsuite/src'

中有app/autoload.php

班级

<?php
// /src/RS/Entity/User.php

namespace RS\Entity;

use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 */
class User extends BaseUser
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    public function __construct()
    {
        parent::__construct();
        // your own logic
    }
}

据我所知,这是一个映射的实体,除非我遗漏了什么?

我还尝试过捆绑创建实体,另一个捆绑像Acme/UserBundle/Entity/User.php

# Doctrine Configuration
doctrine:
    dbal:
        default_connection:       default
        connections:
            default:
                dbname:           axpdb
                user:             %database_user%
                password:         %database_password%
                host:             %database_host%
                port:             %database_port%
                charset:          UTF8
            reportsuite:
                dbname:           reportsuite
                user:             %database_user%
                password:         %database_password%
                host:             %database_host%
                port:             %database_port%
                charset:          UTF8
    orm:
        entity_managers:
            default:
                connection:       default
                mappings:
                    ReportSuiteMainMenuBundle: ~
            reportsuite:
                connection:       reportsuite
                mappings:


# Security
jms_security_extra:
    secure_controllers:  true
    secure_all_services: false

# FOS User Config
#fos_user:
#    db_driver: orm
#    firewall_name: main
#    user_class: RS\Entity\User
#    model_manager_name: reportsuite

我有两个需要访问的数据库,我已经注释掉了这些东西,所以我可以继续工作。

2 个答案:

答案 0 :(得分:0)

运行

touch Entity/*

你没事。

答案 1 :(得分:-1)

有这个问题 - 请不要忘记注释* @ORM\Entity,如下所示:

/**
 * Powma\ServiceBundle\Entity\User
 *
 * @ORM\Entity
 * @ORM\Table(name="users")
 */