在Symfony2

时间:2015-06-08 17:15:32

标签: symfony doctrine-orm fosuserbundle

我正在使用FOSUser捆绑包,一切顺利,直到我尝试创建数据库实体,我收到此错误:

它与Symfony 2.5中的错误无关,我使用的是2.7版

Case mismatch between loaded and declared class names: App\UserBundle\Entity\user vs App\UserBundle\Entity\User

这是我对fos的配置文件:

fos_user:
    db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
    firewall_name: main
    user_class: App\UserBundle\Entity\User

我的类和命名空间似乎有正确的上限,我不知道为什么会发生这种情况。我试图清除缓存,没有错误但没有工作。

用户类是App / UserBundle / Entity / User.php,这里是内容:

<?php
namespace App\UserBundle\Entity;

use FOS\UserBundle\Model\User as BaseUser;

/**
 * User
 */
class User extends BaseUser
{
    public function __construct()
    {
        parent::__construct();
    }
}

2 个答案:

答案 0 :(得分:0)

如果您将用户实体修改为如下所示(将user_table替换为预期的表名),会发生什么情况?

namespace App\UserBundle\Entity;

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

/**
 * User
 * @ORM\Table(name="user_table")
 * @ORM\Entity
 */
class User extends BaseUser
{
    public function __construct()
    {
        parent::__construct();
    }
}

答案 1 :(得分:0)

我发现了问题,我使用yaml作为实体定义,文件名是user.orm.yml而不是User.orm.yml。