在字段中的实体'AcmeApiBundleEntityClient'或鉴别器列映射上重复定义列'random_id'



我创建了扩展FOSOAuthServerBundle的客户端。该客户端的代码如下:

<?php 
namespace AcmeApiBundleEntity;
use FOSOAuthServerBundleEntityClient as BaseClient;
use DoctrineORMMapping as ORM;
 /**
 * Class Client
 *
 * @package AcmeApiBundleEntity
 *
 * @ORMTable("oauth2_clients")
 * @ORMEntity
 */
class Client extends BaseClient
{
/**
 * @ORMId
 * @ORMColumn(type="integer")
 * @ORMGeneratedValue(strategy="AUTO")
 */
protected $id;
    protected $name;
    public function __construct()
    {
        parent::__construct();
    }
    public function setName($name)
    {
        $this->name = $name;
    }
    public function getName()
    {
        return $this->name;
   }
}

所以,正如我所说的,我扩展了FOSOAuthServerBundle,它具有$randomId (friendsofsymfonyoauth-server-bundleEntityClient.php,第28行)。现在我得到一个错误:

MappingException .php第565行:在字段或标识符列映射中,在实体"AcmeApiBundle entity Client"上重复列"random_id"的定义。

我哪里出错了?

当我使用FOSOAuthServerBundleEntityClient时,我使用了一个扩展另一个目标类(FOSOAuthServerBundleModelClient)的类。有一些目标变量,比如$RandomId,我发现它是重复的。因此,根据我的观点,当AcmeApiBundleEntityClient扩展FOSOAuthServerBundleEntityClient扩展FOSOAuthServerBundleModelClient时,我们获得了两次变量,而不是一次。所以我决定直接扩展FOSOAuthServerBundleModelClient,它解决了我的问题。有人能解释一下为什么用这种方式写代码是不可能的吗?

相关内容

  • 没有找到相关文章