*/ #[ORM\ManyToMany(targetEntity: BrandCategory::class, fetch: 'EXTRA_LAZY')] #[ORM\JoinTable(name: 'collection.brand_category_link')] #[ORM\JoinColumn(name: 'brand_id', referencedColumnName: 'id')] #[ORM\InverseJoinColumn(name: 'brand_category', referencedColumnName: 'category_name')] #[ORM\OrderBy(['name' => 'asc'])] private Collection $categories; #[ORM\Column(name: 'name', unique: TRUE, nullable: FALSE)] private string $name; // ------------------------------------------------------------------------ public function __construct() { $this->categories = new ArrayCollection(); } public function __toString(): string { return $this->name; } public function addCategory(BrandCategory $category): self { if ( ! $this->categories->contains($category)) { $this->categories->add($category); } return $this; } public function removeCategory(BrandCategory $category): self { $this->categories->removeElement($category); return $this; } }