Для создания отношений сущностей вам необходимо иметь ключи, которые будут использоваться при объединении таблиц. В вашем клиентском классе должен быть определен ключ id
, и вам нужно инициализировать коллекции, например:
class Client
{
//....
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @ORM\OneToMany(targetEntity="ClientArea", mappedBy="client", cascade={"persist", "remove"})
*/
public $unloading_areas;
/**
* @ORM\OneToMany(targetEntity="ClientArea", mappedBy="client", cascade={"persist", "remove"})
*/
public $loading_areas;
public function __construct() {
// Initialize collections
$this->unloading_areas = new \Doctrine\Common\Collections\ArrayCollection();
$this->loading_areas = new \Doctrine\Common\Collections\ArrayCollection();
}
// ....
}
Ваш класс ClientArea должен выглядеть примерно так:
class ClientArea
{
// ....
/**
* @ORM\Column(name="client_id", type="int", nullable=false)
*/
private $clientId;
/**
* @ORM\ManyToOne(targetEntity="Client")
* @JoinColumn(name="client_id", referencedColumnName="id")
*/
public $client;
// ....
}
Теперь эти два объекта должны быть правильно отображены.
Чтобы узнать больше о сопоставлении ассоциаций в Doctrine, прочитайте статью здесь: http://docs.doctrine -project.org / projects / doctrine-orm / en / 2.0.x / reference / association-mapping.html
Надеюсь, это поможет.