app/Entity/Schema/ORM/AdminTagAssignment.php line 13

Open in your IDE?
  1. <?php
  2. namespace Sq\Entity\Schema\ORM;
  3. use Doctrine\ORM\Mapping as ORM;
  4. /**
  5.  * AdminTag.
  6.  */
  7. #[ORM\Entity]
  8. #[ORM\Table(name'admin_tag_assignments')]
  9. #[ORM\UniqueConstraint(name'at_assignment'columns: ['ata_at_id''ata_m_id'])]
  10. class AdminTagAssignment
  11. {
  12.     /**
  13.      * @var int
  14.      */
  15.     #[ORM\Id]
  16.     #[ORM\GeneratedValue(strategy'IDENTITY')]
  17.     #[ORM\Column(name'ata_id'type'integer'nullablefalseoptions: ['unsigned' => true])]
  18.     private $id;
  19.     /**
  20.      * @var AdminTag
  21.      */
  22.     #[ORM\ManyToOne(targetEntityAdminTag::class, fetch'EAGER')]
  23.     #[ORM\JoinColumn(name'ata_at_id'referencedColumnName'at_id'nullablefalse)]
  24.     private $adminTag;
  25.     /**
  26.      * @var Member
  27.      */
  28.     #[ORM\ManyToOne(targetEntityMember::class, inversedBy'adminTagAssignments'fetch'EAGER')]
  29.     #[ORM\JoinColumn(name'ata_m_id'referencedColumnName'm_id'nullablefalse)]
  30.     private $assignedTo;
  31.     /**
  32.      * @var Member|null
  33.      */
  34.     #[ORM\ManyToOne(targetEntityMember::class)]
  35.     #[ORM\JoinColumn(name'ata_created_by'referencedColumnName'm_id'nullabletrue)]
  36.     private $assignedBy;
  37.     /**
  38.      * @var \DateTimeInterface
  39.      */
  40.     #[ORM\Column(name'ata_datetime'type'datetime'nullablefalse)]
  41.     private $createdAt;
  42.     public function __construct(
  43.         AdminTag $adminTag,
  44.         Member $assignedTo,
  45.         ?Member $assignedBy,
  46.         ?\DateTimeInterface $createdAt null
  47.     ) {
  48.         $this->adminTag $adminTag;
  49.         $this->assignedTo $assignedTo;
  50.         $this->assignedBy $assignedBy;
  51.         $this->createdAt = clone ($createdAt ?: new \DateTimeImmutable);
  52.     }
  53.     public function getId(): ?int
  54.     {
  55.         return $this->id;
  56.     }
  57.     public function getAdminTag(): AdminTag
  58.     {
  59.         return $this->adminTag;
  60.     }
  61.     public function setAdminTag(AdminTag $adminTag): self
  62.     {
  63.         $this->adminTag $adminTag;
  64.         return $this;
  65.     }
  66.     public function getAssignedTo(): Member
  67.     {
  68.         return $this->assignedTo;
  69.     }
  70.     public function setAssignedTo(Member $assignedTo): self
  71.     {
  72.         $this->assignedTo $assignedTo;
  73.         return $this;
  74.     }
  75.     public function getAssignedBy(): ?Member
  76.     {
  77.         return $this->assignedBy;
  78.     }
  79.     public function setAssignedBy(?Member $assignedBy): self
  80.     {
  81.         $this->assignedBy $assignedBy;
  82.         return $this;
  83.     }
  84.     public function getCreatedAt(): \DateTimeInterface
  85.     {
  86.         return clone $this->createdAt;
  87.     }
  88.     public function setCreatedAt(\DateTimeInterface $createdAt): self
  89.     {
  90.         $this->createdAt = clone $createdAt;
  91.         return $this;
  92.     }
  93. }