<?php namespace Lc\ShopBundle\Model; use Doctrine\ORM\Mapping as ORM; /** * @ORM\MappedSuperclass() */ abstract class Cart extends AbstractEntity { /** * @ORM\OneToOne(targetEntity="Lc\ShopBundle\Context\VisitorInterface", inversedBy="cart", cascade={"persist", "remove"}) * @ORM\JoinColumn(nullable=false) */ protected $visitor; /** * @ORM\ManyToOne(targetEntity="Lc\ShopBundle\Context\UserInterface", inversedBy="carts") */ protected $user; /** * @ORM\ManyToOne(targetEntity="Lc\ShopBundle\Context\AddressInterface") */ protected $address; public function getVisitor(): ?Visitor { return $this->visitor; } public function setVisitor(Visitor $visitor): self { $this->visitor = $visitor; return $this; } public function getUser(): ?User { return $this->user; } public function setUser(?User $user): self { $this->user = $user; return $this; } public function getAddress(): ?Address { return $this->address; } public function setAddress(?Address $address): self { $this->address = $address; return $this; } }