我目前正在开发一个与FOSUserBundle的管理界面,但我面临一个恼人的问题:
我创建了一个Operator类来保存FOSUserBundle的用户,这些用户使用Doctrine ORM映射到Symfony2中。运算符的第一个字母是大写的(网站中的其余表格也以大写字母为前缀,所以我不想破坏该约定。)
问题在于,当我登录管理界面时,出现错误弹出:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'dbname.operator' doesn't exist
显然,查询应该使用dbname.Operator
,而不是dbname.operator
。
非常感谢任何帮助。
谢谢!
编辑:附加了Operator
实体的类定义:
/**
* @ORM\Entity
* @ORM\Table(name="Operator")
*/
class Operator extends BaseUser {
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
}
答案 0 :(得分:3)
你跑吗
doctrine:schema:update --force
要创建数据库表吗?
答案 1 :(得分:0)
您可以在实体中设置数据库表名称。
如果您使用注释,您的实体应该启动以下内容:
/**
* Operator
*
* @ORM\Table(name="Operator")
*/
class Operator
{