<?phpnamespace App\Entity;use DateTimeImmutable;use Doctrine\ORM\Mapping as ORM;use Symfony\Component\Validator\Constraints as Assert;/** * @ORM\Entity(repositoryClass="App\Repository\SupportRepository") * @ORM\HasLifecycleCallbacks() */class Support{ /** * @ORM\Id() * @ORM\GeneratedValue() * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) */ private $subject; /** * @ORM\Column(type="string", length=255) */ private $classification; /** * @ORM\Column(type="text") */ private $description; /** * @ORM\Column(type="string", length=255) */ private $customerName; /** * @ORM\Column(type="string", length=255) * @Assert\NotBlank(message="Please provide email") * @Assert\Email( * message = "Please enter valid email." * ) */ private $customerEmail; /** * @ORM\Column(type="datetime_immutable") */ private $created; /** * @ORM\ManyToOne(targetEntity="App\Entity\Workspace", inversedBy="supports") * @ORM\JoinColumn(nullable=false) */ private $workspace; /** * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="supports") * @ORM\JoinColumn(nullable=false) **/ private $user; public function __construct() { } public function getId(): ?int { return $this->id; } /** * @return string|null */ public function getSubject(): ?string { return $this->subject; } /** * @param string $subject * * @return $this */ public function setSubject(string $subject): self { $this->subject = $subject; return $this; } /** * @return string|null */ public function getClassification(): ?string { return $this->classification; } /** * @param string $classification * * @return $this */ public function setClassification(string $classification): self { $this->classification = $classification; return $this; } /** * @return string|null */ public function getDescription(): ?string { return $this->description; } /** * @param string $description * * @return $this */ public function setDescription(string $description): self { $this->description = $description; return $this; } /** * @return string|null */ public function getCustomerEmail(): ?string { return $this->customerEmail; } /** * @param string $customerEmail * * @return $this */ public function setCustomerEmail(string $customerEmail): self { $this->customerEmail = $customerEmail; return $this; } /** * @return string|null */ public function getCustomerName(): ?string { return $this->customerName; } /** * @param string $customerName * * @return $this */ public function setCustomerName(string $customerName): self { $this->customerName = $customerName; return $this; } /** * @return DateTimeImmutable|null */ public function getCreated(): ?DateTimeImmutable { return $this->created; } /** * @param DateTimeImmutable $created * * @return $this */ public function setCreated(DateTimeImmutable $created): self { $this->created = $created; return $this; } /** * Set user * * @param User|null $user * @return Support */ public function setUser(?User $user = null): self { $this->user = $user; return $this; } /** * @return User|null */ public function getUser(): ?User { return $this->user; } /** * @return Workspace|null */ public function getWorkspace(): ?Workspace { return $this->workspace; } /** * @param Workspace|null $workspace */ public function setWorkspace(?Workspace $workspace): void { $this->workspace = $workspace; } /** * @ORM\PrePersist */ public function setCreatedValue() { $this->created = new DateTimeImmutable(); }}