<?phpnamespace App\Entity;use App\Repository\SageFamilyRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=SageFamilyRepository::class) * @ORM\HasLifecycleCallbacks() */class SageFamily{ /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=20) */ private $sageCode; /** * @ORM\Column(type="string", length=255) */ private $name; /** * @ORM\Column(type="datetime", nullable=true) */ private $syncDate; /** * @ORM\Column(type="datetime_immutable") */ private $createdAt; /** * @ORM\Column(type="datetime_immutable") */ private $updatedAt; /** * @ORM\OneToMany(targetEntity=SageSubFamily::class, mappedBy="family", orphanRemoval=true) */ private $sageSubFamilies; /** * @ORM\OneToMany(targetEntity=SageArticle::class, mappedBy="family") */ private $sageArticles; public function __construct() { $this->sageSubFamilies = new ArrayCollection(); $this->sageArticles = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getSageCode(): ?string { return $this->sageCode; } public function setSageCode(string $sageCode): self { $this->sageCode = $sageCode; return $this; } public function getName(): ?string { return $this->name; } public function setName(string $name): self { $this->name = $name; return $this; } public function getSyncDate(): ?\DateTimeInterface { return $this->syncDate; } public function setSyncDate(?\DateTimeInterface $syncDate): self { $this->syncDate = $syncDate; return $this; } public function getCreatedAt(): ?\DateTimeImmutable { return $this->createdAt; } public function setCreatedAt(\DateTimeImmutable $createdAt): self { $this->createdAt = $createdAt; return $this; } public function getUpdatedAt(): ?\DateTimeImmutable { return $this->updatedAt; } public function setUpdatedAt(\DateTimeImmutable $updatedAt): self { $this->updatedAt = $updatedAt; return $this; } /** * @return Collection<int, SageSubFamily> */ public function getSageSubFamilies(): Collection { return $this->sageSubFamilies; } public function addSageSubFamily(SageSubFamily $sageSubFamily): self { if (!$this->sageSubFamilies->contains($sageSubFamily)) { $this->sageSubFamilies[] = $sageSubFamily; $sageSubFamily->setFamily($this); } return $this; } public function removeSageSubFamily(SageSubFamily $sageSubFamily): self { if ($this->sageSubFamilies->removeElement($sageSubFamily)) { // set the owning side to null (unless already changed) if ($sageSubFamily->getFamily() === $this) { $sageSubFamily->setFamily(null); } } return $this; } /** * @return Collection<int, SageArticle> */ public function getSageArticles(): Collection { return $this->sageArticles; } public function addSageArticle(SageArticle $sageArticle): self { if (!$this->sageArticles->contains($sageArticle)) { $this->sageArticles[] = $sageArticle; $sageArticle->setFamily($this); } return $this; } public function removeSageArticle(SageArticle $sageArticle): self { if ($this->sageArticles->removeElement($sageArticle)) { // set the owning side to null (unless already changed) if ($sageArticle->getFamily() === $this) { $sageArticle->setFamily(null); } } return $this; } /** * @ORM\PrePersist */ public function prePersist(): void { $this->createdAt = new \DateTimeImmutable(); $this->updatedAt = new \DateTimeImmutable(); } /** * @ORM\PreUpdate */ public function preUpdate(): void { $this->updatedAt = new \DateTimeImmutable(); }}