<?php
declare(strict_types=1);
namespace App\Entity\Order;
use App\Entity\Configurator\Configuration;
use BitBag\SyliusProductBundlePlugin\Entity\OrderItemInterface;
use BitBag\SyliusProductBundlePlugin\Entity\ProductBundleOrderItemInterface;
use BitBag\SyliusProductBundlePlugin\Entity\ProductBundleOrderItemsAwareTrait;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Sylius\Component\Core\Model\OrderItem as BaseOrderItem;
/**
* @ORM\Entity
* @ORM\Table(name="sylius_order_item")
*/
class OrderItem extends BaseOrderItem implements OrderItemInterface
{
use ProductBundleOrderItemsAwareTrait;
public function __construct()
{
parent::__construct();
$this->init();
$this->productBundleOrderItems = new ArrayCollection();
}
/**
* @var ArrayCollection|ProductBundleOrderItemInterface[]
* @ORM\OneToMany(
* targetEntity="BitBag\SyliusProductBundlePlugin\Entity\ProductBundleOrderItemInterface",
* mappedBy="orderItem",
* cascade={"all"},)
*/
protected $productBundleOrderItems;
/**
* @ORM\OneToOne(targetEntity="App\Entity\Configurator\Configuration", inversedBy="orderItem", cascade={"persist"})
* @ORM\JoinColumn(nullable=true, onDelete="SET NULL")
*/
protected ?Configuration $configuration = null;
/** @ORM\Column(name="order_item_id_prestashop", type="integer", nullable=true) */
private ?int $orderItemIdPrestashop;
/**
* @return Configuration|null
*/
public function getConfiguration(): ?Configuration
{
return $this->configuration;
}
/**
* @param Configuration|null $configuration
*/
public function setConfiguration(?Configuration $configuration): void
{
$this->configuration = $configuration;
}
/**
* @return ProductBundleOrderItemInterface[]|ArrayCollection
*/
public function getProductBundleOrderItems(): Collection|array
{
return $this->productBundleOrderItems;
}
public function getOrderItemIdPrestashop(): ?int
{
return $this->orderItemIdPrestashop;
}
public function setOrderItemIdPrestashop(?int $orderItemIdPrestashop): void
{
$this->orderItemIdPrestashop = $orderItemIdPrestashop;
}
}