Doctrine orm 未创建doctrine2外键

Doctrine orm 未创建doctrine2外键,doctrine-orm,Doctrine Orm,我有两个简单的实体通过一个单一的关联相互连接 /** * @ORM\Entity(repositoryClass="Shopware\CustomModels\JoeKaffeeAbo\Client") * @ORM\Table(name="joe_kaffee_abo_client") */ class Client extends ModelEntity { public function __construct() { $this->abos = new ArrayColl

我有两个简单的实体通过一个单一的关联相互连接

/**
* @ORM\Entity(repositoryClass="Shopware\CustomModels\JoeKaffeeAbo\Client")
* @ORM\Table(name="joe_kaffee_abo_client")
*/
class Client extends ModelEntity
{

public function __construct() {
    $this->abos = new ArrayCollection();
}

/**
 * @ORM\OneToMany(targetEntity="Shopware\CustomModels\JoeKaffeeAbo\Abo", mappedBy="client", cascade= "all")
 * @var \Doctrine\Common\Collections\ArrayCollection
 */
protected $abos;

public function addAbo($abo)
{
    //$this->abos[] = $abo;
    $this->abos->add($abo);
}
第二个是Abo:

/**
* @ORM\Entity(repositoryClass="Shopware\CustomModels\JoeKaffeeAbo\Abo")
* @ORM\Table(name="joe_kaffee_abo_abos")
*/
class Abo extends ModelEntity
{

/**
 * @ORM\ManyToOne(targetEntity="Shopware\CustomModels\JoeKaffeeAbo\Client",inversedBy="abos")
 * @ORM\JoinColumn(name="clientId", referencedColumnName="id")
 */
protected $client;
}

不知何故,join列并没有被填充,这似乎是因为doctrine忽略了我建立的关联。如果我调用$client->addAbo$abo,则不会创建关系…并且我无法通过返回abo数组集合的getter函数接收添加的abo。

是否希望创建第三个表?你的标题令人困惑。不需要具有OneToMany关系的附加表。您是对的,不需要附加表。我为标题感到抱歉。我改了。无论如何,问题是带有foreignKey的列没有正确填充。同时,问题也得到了解决。但我不知道为什么。我刚刚重新命名了旧表。删除缓存并重新启动所有内容。我还必须提到,我的条令框架实例正在一家名为Shopware maybee的网店中运行,有一个bug。。。