<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\TicketRepository")
* @ORM\Table(name="tickets", indexes={@ORM\Index(name="id_index", columns={"id"})})
*/
class Ticket
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="datetime", nullable=false)
*/
private $create_date;
/**
* @ORM\Column(type="string", length=10, nullable=false)
*/
private $code;
/**
* @ORM\Column(type="string", length=250, nullable=false)
*/
private $subject;
/**
* @ORM\Column(type="text", nullable=false)
*/
private $message;
/**
* @ORM\Column(type="string", length=10, nullable=false)
*/
private $status;
/**
* @ORM\OneToMany(targetEntity="App\Entity\TicketReply", mappedBy="ticket")
*/
private $ticketReplies;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="tickets")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false)
*/
private $user;
public function __construct()
{
$this->ticketReplies = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getCreateDate(): ?\DateTimeInterface
{
return $this->create_date;
}
public function setCreateDate(\DateTimeInterface $create_date): self
{
$this->create_date = $create_date;
return $this;
}
public function getCode(): ?string
{
return $this->code;
}
public function setCode(string $code): self
{
$this->code = $code;
return $this;
}
public function getSubject(): ?string
{
return $this->subject;
}
public function setSubject(string $subject): self
{
$this->subject = $subject;
return $this;
}
public function getMessage(): ?string
{
return $this->message;
}
public function setMessage(string $message): self
{
$this->message = $message;
return $this;
}
public function getStatus(): ?string
{
return $this->status;
}
public function setStatus(string $status): self
{
$this->status = $status;
return $this;
}
/**
* @return Collection|TicketReply[]
*/
public function getTicketReplies(): Collection
{
return $this->ticketReplies;
}
public function addTicketReply(TicketReply $ticketReply): self
{
if (!$this->ticketReplies->contains($ticketReply)) {
$this->ticketReplies[] = $ticketReply;
$ticketReply->setTicket($this);
}
return $this;
}
public function removeTicketReply(TicketReply $ticketReply): self
{
if ($this->ticketReplies->removeElement($ticketReply)) {
// set the owning side to null (unless already changed)
if ($ticketReply->getTicket() === $this) {
$ticketReply->setTicket(null);
}
}
return $this;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
}