src/Entity/AdditionalLanguage.php line 93

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. /**
  5.  * @ORM\Entity(repositoryClass="App\Repository\AdditionalLanguageRepository")
  6.  */
  7. class AdditionalLanguage implements \JsonSerializable
  8. {
  9.     /**
  10.      * @ORM\Id()
  11.      * @ORM\GeneratedValue()
  12.      * @ORM\Column(type="integer")
  13.      */
  14.     private $id;
  15.     /**
  16.      * @ORM\ManyToOne(targetEntity="App\Entity\Language")
  17.      */
  18.     private $language;
  19.     /**
  20.      * @ORM\ManyToOne(targetEntity="App\Entity\LanguageLevel")
  21.      */
  22.     private $level;
  23.     /**
  24.      * @ORM\ManyToOne(targetEntity="App\Entity\Candidate", inversedBy="additionalLanguages")
  25.      */
  26.     private $candidate;
  27.     public function getId(): ?int
  28.     {
  29.         return $this->id;
  30.     }
  31.     public function getLanguage(): ?Language
  32.     {
  33.         return $this->language;
  34.     }
  35.     public function setLanguage(?Language $language): self
  36.     {
  37.         $this->language = $language;
  38.         return $this;
  39.     }
  40.     public function getLevel(): ?LanguageLevel
  41.     {
  42.         return $this->level;
  43.     }
  44.     public function setLevel(?LanguageLevel $level): self
  45.     {
  46.         $this->level = $level;
  47.         return $this;
  48.     }
  49.     /**
  50.      * @return Candidate
  51.      */
  52.     public function getCandidate(): ?Candidate {
  53.         return $this->candidate;
  54.     }
  55.     /**
  56.      * @param Candidate $candidate
  57.      *
  58.      * @return self
  59.      */
  60.     public function setCandidate(Candidate $candidate): self {
  61.         $this->candidate = $candidate;
  62.         return $this;
  63.     }
  64.     public function __toString() {
  65.         return (string) $this->getLanguage();
  66.     }
  67.     /**
  68.      * Specify data which should be serialized to JSON
  69.      *
  70.      * @link https://php.net/manual/en/jsonserializable.jsonserialize.php
  71.      * @return mixed data which can be serialized by <b>json_encode</b>,
  72.      * which is a value of any type other than a resource.
  73.      * @since 5.4.0
  74.      */
  75.     public function jsonSerialize() {
  76.         return [
  77.             'id' => $this->getId(),
  78.             'language' => $this->getLanguage(),
  79.             'level' => $this->getLevel()
  80.         ];
  81.     }
  82. }