You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.2 KiB

<?php
namespace App\Entity;
use App\Repository\ReleaseMetadataRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* Metadata related to a release.
*
* Could be pulled from an external source (MusicBrainz, Discogs, …) or filled by hand. A release should be usable
* without associated metadata, but these metadata should always have a 1-1 relation to an existing release.
*/
#[ORM\Entity(repositoryClass: ReleaseMetadataRepository::class)]
class ReleaseMetadata
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\OneToOne(inversedBy: 'metadata', cascade: ['persist', 'remove'])]
#[ORM\JoinColumn(nullable: false)]
private ?Release $release = null;
#[ORM\Column(nullable: true)]
private ?int $year = null;
public function getId(): ?int
{
return $this->id;
}
public function getRelease(): ?Release
{
return $this->release;
}
public function setRelease(Release $release): static
{
$this->release = $release;
return $this;
}
public function getYear(): ?int
{
return $this->year;
}
public function setYear(?int $year): static
{
$this->year = $year;
return $this;
}
}