src/Entity/CRM/AdminDepartment.php line 11

  1. <?php
  2. namespace App\Entity\CRM;
  3. use App\Repository\CRM\AdminDepartmentRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. #[ORM\Entity(repositoryClassAdminDepartmentRepository::class)]
  8. class AdminDepartment
  9. {
  10.     #[ORM\Id]
  11.     #[ORM\GeneratedValue]
  12.     #[ORM\Column]
  13.     private ?int $id null;
  14.     #[ORM\Column(length255)]
  15.     private ?string $name null;
  16.     #[ORM\OneToMany(mappedBy'adminDepartment'targetEntityAdmin::class)]
  17.     private Collection $admins;
  18.     #[ORM\ManyToMany(targetEntityAdmin::class)]
  19.     private Collection $managementStaff;
  20.     public function __toString(): string
  21.     {
  22.         return (string) $this->name;
  23.     }
  24.     public function __construct()
  25.     {
  26.         $this->admins = new ArrayCollection();
  27.         $this->managementStaff = new ArrayCollection();
  28.     }
  29.     public function getId(): ?int
  30.     {
  31.         return $this->id;
  32.     }
  33.     public function getName(): ?string
  34.     {
  35.         return $this->name;
  36.     }
  37.     public function setName(string $name): static
  38.     {
  39.         $this->name $name;
  40.         return $this;
  41.     }
  42.     /**
  43.      * @return Collection<int, Admin>
  44.      */
  45.     public function getAdmins(): Collection
  46.     {
  47.         return $this->admins;
  48.     }
  49.     public function addAdmin(Admin $admin): static
  50.     {
  51.         if (!$this->admins->contains($admin)) {
  52.             $this->admins->add($admin);
  53.             $admin->setAdminDepartment($this);
  54.         }
  55.         return $this;
  56.     }
  57.     public function removeAdmin(Admin $admin): static
  58.     {
  59.         if ($this->admins->removeElement($admin)) {
  60.             // set the owning side to null (unless already changed)
  61.             if ($admin->getAdminDepartment() === $this) {
  62.                 $admin->setAdminDepartment(null);
  63.             }
  64.         }
  65.         return $this;
  66.     }
  67.     /**
  68.      * @return Collection<int, Admin>
  69.      */
  70.     public function getManagementStaff(): Collection
  71.     {
  72.         return $this->managementStaff;
  73.     }
  74.     public function addManagementStaff(Admin $managementStaff): static
  75.     {
  76.         if (!$this->managementStaff->contains($managementStaff)) {
  77.             $this->managementStaff->add($managementStaff);
  78.         }
  79.         return $this;
  80.     }
  81.     public function removeManagementStaff(Admin $managementStaff): static
  82.     {
  83.         $this->managementStaff->removeElement($managementStaff);
  84.         return $this;
  85.     }
  86. }