<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity(repositoryClass="App\Repository\RecommendationRepository")
*/
class Recommendation
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=150)
* @Assert\NotBlank()
* @Assert\Length(max=150)
*/
private $name;
/**
* @var string
*
* @ORM\Column(type="string", length=550)
* @Assert\NotBlank()
* @Assert\Length(max=550)
*/
private $description;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Category", inversedBy="recommendations")
* @ORM\JoinColumn(nullable=true)
*/
private $category;
public function __toString(): string
{
return $this->getName();
}
public function getName(): ?string
{
return $this->name;
}
public function setName(string $name): self
{
$this->name = $name;
return $this;
}
public function getDescription(): string
{
return $this->description;
}
public function setDescription(string $description): self
{
$this->description = $description;
return $this;
}
public function setCategory(?Category $category): self
{
$this->category = $category;
return $this;
}
public function getId(): ?int
{
return $this->id;
}
public function addCategory(string $category): void
{
$this->category[] = $category;
}
public function removeCategory(string $category): void
{
if (false !== $key = array_search($category, $this->category ?? [], true)) {
unset($this->category[$key]);
}
}
/**
* @return string[]|null
*/
public function getCategory()
{
return $this->category;
}
}