<?php
declare(strict_types=1);
namespace App\Entity\System;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="ps_product_pack",
* uniqueConstraints={
*
* @ORM\UniqueConstraint(name="uk_product_pack_product_item", columns={"id_product_pack", "id_product_attribute_pack", "id_product_item", "id_product_attribute_item"})
* })
*
* @ORM\Entity(repositoryClass="App\Repository\System\ProductPackRepository")
*/
class ProductPack
{
/**
* @var int
*
* @ORM\Column(type="integer")
*
* @ORM\Id
*
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\System\Product")
*
* @ORM\JoinColumn(name="id_product_pack", referencedColumnName="id_product", nullable=false)
*/
protected Product $product;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\System\ProductAttribute")
*
* @ORM\JoinColumn(name="id_product_attribute_pack", referencedColumnName="id_product_attribute")
*/
protected ?ProductAttribute $productAttribute;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\System\Product")
*
* @ORM\JoinColumn(name="id_product_item", referencedColumnName="id_product", nullable=false)
*/
protected Product $productItem;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\System\ProductAttribute")
*
* @ORM\JoinColumn(name="id_product_attribute_item", referencedColumnName="id_product_attribute")
*/
protected ?ProductAttribute $productAttributeItem;
/**
* @ORM\Column(type="integer", options={"default": 1})
*/
protected int $quantityItem;
public function getId(): int
{
return $this->id;
}
public function setId(int $id): ProductPack
{
$this->id = $id;
return $this;
}
public function getQuantityItem(): int
{
return $this->quantityItem;
}
public function setQuantityItem(int $quantityItem): ProductPack
{
$this->quantityItem = $quantityItem;
return $this;
}
public function getProduct(): Product
{
return $this->product;
}
public function setProduct(Product $product): ProductPack
{
$this->product = $product;
return $this;
}
public function getProductAttribute(): ProductAttribute
{
return $this->productAttribute;
}
public function setProductAttribute(ProductAttribute $productAttribute): ProductPack
{
$this->productAttribute = $productAttribute;
return $this;
}
public function getProductItem(): Product
{
return $this->productItem;
}
public function setProductItem(Product $productItem): ProductPack
{
$this->productItem = $productItem;
return $this;
}
public function getProductAttributeItem(): ?ProductAttribute
{
return $this->productAttributeItem;
}
public function setProductAttributeItem(ProductAttribute $productAttributeItem): ProductPack
{
$this->productAttributeItem = $productAttributeItem;
return $this;
}
}