src/Entity/CartItemRental.php line 8

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. #[ORM\Entity]
  5. class CartItemRental extends CartItem implements CartItemShopInterface
  6. {
  7.     #[ORM\ManyToOne(targetEntityItemVariation::class, inversedBy'rentals')]
  8.     private $rentalItem;
  9.     #[ORM\OneToOne(inversedBy'cartItemRental'targetEntityRental::class, cascade: ['persist''remove'])]
  10.     private $rental;
  11.     public function getRentalItem(): ?ItemVariation
  12.     {
  13.         return $this->rentalItem;
  14.     }
  15.     public function setRentalItem(?ItemVariation $rentalItem): self
  16.     {
  17.         $this->rentalItem $rentalItem;
  18.         return $this;
  19.     }
  20.     public function getVariation(): ItemVariation
  21.     {
  22.         return $this->rentalItem;
  23.     }
  24.     public function getName(): ?string
  25.     {
  26.         return parent::getName() ?? sprintf('%s (location)'$this->getRentalItem()?->getName());
  27.     }
  28.     public function getRental(): ?Rental
  29.     {
  30.         return $this->rental;
  31.     }
  32.     public function setRental(?Rental $rental): self
  33.     {
  34.         $this->rental $rental;
  35.         return $this;
  36.     }
  37.     public static function createFromItemVariation(ItemVariation $variation): CartItem
  38.     {
  39.         return (new self())
  40.             ->setPrice($variation->getPrice())
  41.             ->setRentalItem($variation);
  42.     }
  43. }