在 Symfony2 中使用 FOSUser Bundle 生成学说实体时出错
Error while generating doctrine entities with FOSUser Bundle in Symfony2
我正在使用 FOSUser 包并且一切正常,直到我尝试创建数据库实体,我收到此错误:
与Symfony 2.5的bug无关,我用的是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
我的 classes 和名称空间似乎有正确的上限,我不知道为什么会这样。我尝试清除缓存,没有错误,但没有用。
用户class是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();
}
}
如果您将用户实体修改为如下所示(将 user_table
替换为预期的 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();
}
}
我发现了问题,我使用 yaml 作为实体定义并且文件名是 user.orm.yml 而不是 User.orm.yml。
我正在使用 FOSUser 包并且一切正常,直到我尝试创建数据库实体,我收到此错误:
与Symfony 2.5的bug无关,我用的是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
我的 classes 和名称空间似乎有正确的上限,我不知道为什么会这样。我尝试清除缓存,没有错误,但没有用。
用户class是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();
}
}
如果您将用户实体修改为如下所示(将 user_table
替换为预期的 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();
}
}
我发现了问题,我使用 yaml 作为实体定义并且文件名是 user.orm.yml 而不是 User.orm.yml。