<?php
namespace App\Entity;
use App\Repository\CoverageAreaRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=CoverageAreaRepository::class)
*/
class CoverageArea
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToMany(targetEntity=Department::class, inversedBy="coverageAreas", cascade={"persist", "remove"})
*/
private $departments;
/**
* @ORM\OneToOne(targetEntity=User::class, mappedBy="coverageArea", cascade={"persist", "remove"})
*/
private $user;
public function __construct()
{
$this->departments = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
/**
* @return Collection|Department[]
*/
public function getDepartments(): Collection
{
return $this->departments;
}
public function addDepartment( Department $department ): self
{
if ( !$this->departments->contains( $department ) ) {
$this->departments[] = $department;
}
return $this;
}
public function removeDepartment( Department $department ): self
{
$this->departments->removeElement( $department );
return $this;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(User $user): self
{
$this->user = $user;
return $this;
}
}