我有两个简单的实体通过OneToMany关联相互连接。
/**
* @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;
}
不知何故,连接列未被填充 - 似乎学说忽略了我设置的关联。如果我调用$ client-> addAbo($ abo),则不会创建关系...而且我无法通过返回abo数组集合的getter函数接收添加的abos。