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。。。