繁体   English   中英

Symfony2 FOSUserBundle无法更新学说数据库架构或清除缓存

[英]Symfony2 FOSUserBundle can't update doctrine database schema or clear cache

我正在尝试学习如何使用Symfony2和FOSUserBundle进行注册。 我正在使用提供的文档逐步进行操作: https : //github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/index.md但是,当我尝试运行comman php app/console doctrine:schema:update --force我得到这个错误:

[Doctrine\ORM\Mapping\MappingException]                                      
No identifier/primary key specified for Entity "Registration\BusinessBundle\Entity\BusinessUser" 
sub class of "FOS\UserBundle\Model\User". 
Every Entity must have an identifier/primary key.

如果我运行命令php app/console cache:clear则会收到相同的错误。 我尝试手动删除缓存文件夹,但是当我尝试更新原则架构时,再次出现相同的错误。

我的BusinessUser实体:

<?php
namespace Registration\BusinessBundle\Entity;

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

/**
 * @ORM\Entity
 * @ORM\Table(name="business_user")
 */

class BusinessUser extends BaseUser
{
    /*
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;
    public function __construct()
    {
        parent::__construct();
    }
}

由于您将此问题放入stackoverflow 2次,因此我复制并粘贴答案:

您的实体不包含使用“ Doctrine注释”的PHP docblock注释。

文档块以两个星号开头,否则只是一个简单的注释。

更改当前代码

/*
 * @ORM\Id
 * @ORM\Column(type="integer") 
 * @ORM\GeneratedValue(strategy="AUTO") 
 */
protected $id;

/**
 * @ORM\Id
 * @ORM\Column(type="integer") 
 * @ORM\GeneratedValue(strategy="AUTO") 
 */
protected $id;

只有使用/ **,注释才能被Doctrine识别。

还要检查您的其他属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM