src/Entity/Artist.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Boab\CmsBundle\Entity\Content;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Boab\CmsBundle\Repository\ContentRepository;
  8. /**
  9.  * @ORM\Entity(repositoryClass=ContentRepository::class)
  10.  */
  11. class Artist extends Content implements ArtistInterface
  12. {
  13.     /**
  14.      * @ORM\Column(type="string", length=255)
  15.      */
  16.     private $genre;
  17.     /**
  18.      * @ORM\OneToMany(targetEntity=Audio::class, mappedBy="artist", orphanRemoval=true)
  19.      */
  20.     private $audios;
  21.     public function __construct()
  22.     {
  23.         parent::__construct();
  24.         $this->audios = new ArrayCollection();
  25.     }
  26.     public function getGenre(): ?string
  27.     {
  28.         return $this->genre;
  29.     }
  30.     public function setGenre(string $genre): self
  31.     {
  32.         $this->genre $genre;
  33.         return $this;
  34.     }
  35.     /**
  36.      * @return Collection<int, Audio>
  37.      */
  38.     public function getAudios(): Collection
  39.     {
  40.         return $this->audios;
  41.     }
  42.     public function addAudio(Audio $audio): self
  43.     {
  44.         if (!$this->audios->contains($audio)) {
  45.             $this->audios[] = $audio;
  46.             $audio->setArtist($this);
  47.         }
  48.         return $this;
  49.     }
  50.     public function removeAudio(Audio $audio): self
  51.     {
  52.         if ($this->audios->removeElement($audio)) {
  53.             // set the owning side to null (unless already changed)
  54.             if ($audio->getArtist() === $this) {
  55.                 $audio->setArtist(null);
  56.             }
  57.         }
  58.         return $this;
  59.     }
  60. }