<?php namespace Lc\ShopBundle\Model; use Lc\ShopBundle\Model\OrderShop; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; /** * @ORM\MappedSuperclass() */ abstract class DocumentDeliveryNote extends AbstractDocumentOrder { /** * @ORM\OneToMany(targetEntity="Lc\ShopBundle\Context\OrderShopInterface", mappedBy="documentDeliveryNote") */ protected $orderShops; public function __construct() { $this->orderShops = new ArrayCollection(); } /** * @return Collection|OrderShop[] */ public function getOrderShops(): Collection { return $this->orderShops; } public function addOrderShop(OrderShop $orderShop): self { if (!$this->orderShops->contains($orderShop)) { $this->orderShops[] = $orderShop; $orderShop->setDocumentDeliveryNote($this); } return $this; } public function removeOrderShop(OrderShop $orderShop): self { if ($this->orderShops->contains($orderShop)) { $this->orderShops->removeElement($orderShop); // set the owning side to null (unless already changed) if ($orderShop->getDocumentDeliveryNote() === $this) { $orderShop->setDocumentDeliveryNote(null); } } return $this; } }