<?phpnamespace App\Entity;use App\Repository\AirlineRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;use Symfony\Component\Validator\Constraints as Assert;#[ORM\Entity(repositoryClass: AirlineRepository::class)]#[UniqueEntity(['iataCode'])]class Airline{ #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column(type: 'integer')] private $id; #[ORM\Column(type: 'string', length: 2, unique: true)] #[Assert\NotBlank] #[Assert\length(max: 2)] public ?string $iataCode= null; #[ORM\Column(length: 255)] private ?string $businessName = null; #[ORM\Column(length: 3, unique: true, nullable: true)] #[Assert\length(max: 3)] private ?string $icaoCode = null; #[ORM\Column(length: 255)] private ?string $commonName = null; #[ORM\OneToMany(mappedBy: 'airline', targetEntity: AirlineXmlApi::class, orphanRemoval: true)] private Collection $airlineXmlApis; #[ORM\OneToOne(inversedBy: 'airline', cascade: ['persist', 'remove'])] private ?FileData $logo = null; #[ORM\ManyToMany(targetEntity: Country::class)] #[ORM\JoinTable(name: 'airline_accessible_country')] private Collection $accessibleCountries; public function __construct() { $this->airlineXmlApis = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getIataCode(): ?string { return $this->iataCode; } public function setIataCode(string $iataCode): self { $this->iataCode = $iataCode; return $this; } public function getBusinessName(): ?string { return $this->businessName; } public function setBusinessName(string $businessName): self { $this->businessName = $businessName; return $this; } public function getIcaoCode(): ?string { return $this->icaoCode; } public function setIcaoCode(string $icaoCode): self { $this->icaoCode = $icaoCode; return $this; } public function getCommonName(): ?string { return $this->commonName; } public function setCommonName(string $commonName): self { $this->commonName = $commonName; return $this; } public function __toString(){ return $this->getIataCode() . ' : ' . $this->getBusinessName() . " - " . $this->getCommonName(); } /** * @return Collection<int, AirlineXmlApi> */ public function getAirlineXmlApis(): Collection { return $this->airlineXmlApis; } public function addAirlineXmlApi(AirlineXmlApi $airlineXmlApi): static { if (!$this->airlineXmlApis->contains($airlineXmlApi)) { $this->airlineXmlApis->add($airlineXmlApi); $airlineXmlApi->setAirline($this); } return $this; } public function removeAirlineXmlApi(AirlineXmlApi $airlineXmlApi): static { if ($this->airlineXmlApis->removeElement($airlineXmlApi)) { // set the owning side to null (unless already changed) if ($airlineXmlApi->getAirline() === $this) { $airlineXmlApi->setAirline(null); } } return $this; } public function getLogo(): ?FileData { return $this->logo; } public function setLogo(?FileData $logo): static { $this->logo = $logo; return $this; } public function getAccessibleCountries(): Collection { return $this->accessibleCountries; } public function addAccessibleCountry(Country $country): static { if (!$this->accessibleCountries->contains($country)) { $this->accessibleCountries->add($country); } return $this; } public function removeAccessibleCountry(Country $country): static { $this->accessibleCountries->removeElement($country); return $this; }}