src/Entity/NamedRelationship.php line 13

  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\NamedRelationshipRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Gedmo\Timestampable\Traits\TimestampableEntity;
  9. #[ORM\Entity(repositoryClassNamedRelationshipRepository::class)]
  10. class NamedRelationship
  11. {
  12.     use TimestampableEntity;
  13.     #[ORM\Id]
  14.     #[ORM\GeneratedValue]
  15.     #[ORM\Column]
  16.     private ?int $id null;
  17.     #[ORM\Column(length255nullabletrue)]
  18.     private ?string $name null;
  19.     #[ORM\OneToMany(mappedBy'namedRelationship'targetEntityRule::class)]
  20.     private Collection $rules;
  21.     #[ORM\OneToMany(mappedBy'namedRelationship'targetEntityNamedRelationshipPosition::class, cascade: ['persist''remove'])]
  22.     private Collection $namedRelationshipPositions;
  23.     public function __construct()
  24.     {
  25.         $this->rules = new ArrayCollection();
  26.         $this->namedRelationshipPositions = new ArrayCollection();
  27.     }
  28.     public function getId(): ?int
  29.     {
  30.         return $this->id;
  31.     }
  32.     public function getName(): ?string
  33.     {
  34.         return $this->name;
  35.     }
  36.     public function setName(?string $name): self
  37.     {
  38.         $this->name $name;
  39.         return $this;
  40.     }
  41.     /**
  42.      * @return Collection<int, Rule>
  43.      */
  44.     public function getRules(): Collection
  45.     {
  46.         return $this->rules;
  47.     }
  48.     public function addRule(Rule $rule): self
  49.     {
  50.         if (!$this->rules->contains($rule)) {
  51.             $this->rules->add($rule);
  52.             $rule->setNamedRelationship($this);
  53.         }
  54.         return $this;
  55.     }
  56.     public function removeRule(Rule $rule): self
  57.     {
  58.         if ($this->rules->removeElement($rule)) {
  59.             // set the owning side to null (unless already changed)
  60.             if ($rule->getNamedRelationship() === $this) {
  61.                 $rule->setNamedRelationship(null);
  62.             }
  63.         }
  64.         return $this;
  65.     }
  66.     /**
  67.      * @return Collection<int, NamedRelationshipPosition>
  68.      */
  69.     public function getNamedRelationshipPositions(): Collection
  70.     {
  71.         return $this->namedRelationshipPositions;
  72.     }
  73.     public function addNamedRelationshipPosition(NamedRelationshipPosition $namedRelationshipPosition): static
  74.     {
  75.         if (!$this->namedRelationshipPositions->contains($namedRelationshipPosition)) {
  76.             $this->namedRelationshipPositions->add($namedRelationshipPosition);
  77.             $namedRelationshipPosition->setNamedRelationship($this);
  78.         }
  79.         return $this;
  80.     }
  81.     public function removeNamedRelationshipPosition(NamedRelationshipPosition $namedRelationshipPosition): static
  82.     {
  83.         if ($this->namedRelationshipPositions->removeElement($namedRelationshipPosition)) {
  84.             // set the owning side to null (unless already changed)
  85.             if ($namedRelationshipPosition->getNamedRelationship() === $this) {
  86.                 $namedRelationshipPosition->setNamedRelationship(null);
  87.             }
  88.         }
  89.         return $this;
  90.     }
  91.     // add to string return name
  92.     public function __toString(): string
  93.     {
  94.         return $this->getName();
  95.     }
  96. }