130 lines
2.7 KiB
PHP
130 lines
2.7 KiB
PHP
<?php
|
|
|
|
namespace App\Entity;
|
|
|
|
use App\Repository\StockRepository;
|
|
use DateTimeInterface;
|
|
use Doctrine\DBAL\Types\Types;
|
|
use Doctrine\ORM\Mapping as ORM;
|
|
|
|
#use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
|
|
|
#[ORM\Entity(repositoryClass: StockRepository::class)]
|
|
#[ORM\UniqueEntity(['warehouse_id', 'product_id'])]
|
|
#[ORM\UniqueConstraint(
|
|
name: 'UNIQ_D34A04ADDCD6110',
|
|
columns: ['warehouse_id', 'product_id']
|
|
)]
|
|
class Stock
|
|
{
|
|
#[ORM\Id]
|
|
#[ORM\GeneratedValue]
|
|
#[ORM\Column]
|
|
private ?int $id = null;
|
|
|
|
#[ORM\Column]
|
|
private ?int $instock = null;
|
|
#[ORM\Column]
|
|
private ?int $product_id = null;
|
|
|
|
#[ORM\ManyToOne(inversedBy: 'stocks')]
|
|
private ?Warehouse $warehouse = null;
|
|
|
|
#[ORM\Column(name: 'update_time', type: Types::DATETIME_MUTABLE, nullable: true, options: ['default' => 'CURRENT_TIMESTAMP'])]
|
|
private ?DateTimeInterface $update_time = null;
|
|
|
|
|
|
public function getId(): ?int
|
|
{
|
|
return $this->id;
|
|
}
|
|
|
|
public function setId(int $id): ?self
|
|
{
|
|
$this->id = $id;
|
|
return $this;
|
|
}
|
|
|
|
public function getInstock(): ?int
|
|
{
|
|
return $this->instock;
|
|
}
|
|
|
|
public function setInstock(int $instock): self
|
|
{
|
|
$this->instock = $instock;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getProductId(): ?int
|
|
{
|
|
return $this->product_id;
|
|
}
|
|
|
|
public function setProductId(int $product_id): self
|
|
{
|
|
$this->product_id = $product_id;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getWarehouseId(): ?int
|
|
{
|
|
return $this->warehouse_id;
|
|
}
|
|
|
|
public function setWarehouseId(int $warehouse_id): self
|
|
{
|
|
$this->warehouse_id = $warehouse_id;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getProduct(): ?Product
|
|
{
|
|
return $this->product;
|
|
}
|
|
|
|
public function setProduct(?Product $product): self
|
|
{
|
|
// unset the owning side of the relation if necessary
|
|
if ($product === null && $this->product !== null) {
|
|
$this->product->setStock(null);
|
|
}
|
|
|
|
// set the owning side of the relation if necessary
|
|
if ($product !== null && $product->getStock() !== $this) {
|
|
$product->setStock($this);
|
|
}
|
|
|
|
$this->product = $product;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getWarehouse(): ?Warehouse
|
|
{
|
|
return $this->warehouse;
|
|
}
|
|
|
|
public function setWarehouse(?Warehouse $warehouse): self
|
|
{
|
|
$this->warehouse = $warehouse;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getUpdateTime(): ?DateTimeInterface
|
|
{
|
|
return $this->update_time;
|
|
}
|
|
|
|
public function setUpdateTime(?DateTimeInterface $update_time): self
|
|
{
|
|
$this->update_time = $update_time;
|
|
|
|
return $this;
|
|
}
|
|
}
|