. */ declare(strict_types=1); namespace App\Entity\Parts; use App\Entity\Attachments\ManufacturerAttachment; use App\Entity\Base\AbstractCompany; use App\Entity\Parameters\ManufacturerParameter; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; use Symfony\Component\Validator\Constraints as Assert; /** * Class Manufacturer. * * @ORM\Entity(repositoryClass="App\Repository\Parts\ManufacturerRepository") * @ORM\Table("`manufacturers`", indexes={ * @ORM\Index(name="manufacturer_name", columns={"name"}), * @ORM\Index(name="manufacturer_idx_parent_name", columns={"parent_id", "name"}), * }) */ class Manufacturer extends AbstractCompany { /** * @ORM\ManyToOne(targetEntity="Manufacturer", inversedBy="children") * @ORM\JoinColumn(name="parent_id", referencedColumnName="id") */ protected ?\App\Entity\Base\AbstractStructuralDBElement $parent; /** * @ORM\OneToMany(targetEntity="Manufacturer", mappedBy="parent") * @ORM\OrderBy({"name" = "ASC"}) * @var Collection */ protected Collection $children; /** * @var Collection * @ORM\OneToMany(targetEntity="App\Entity\Attachments\ManufacturerAttachment", mappedBy="element", cascade={"persist", "remove"}, orphanRemoval=true) * @ORM\OrderBy({"name" = "ASC"}) */ #[Assert\Valid] protected Collection $attachments; /** @var Collection * @ORM\OneToMany(targetEntity="App\Entity\Parameters\ManufacturerParameter", mappedBy="element", cascade={"persist", "remove"}, orphanRemoval=true) * @ORM\OrderBy({"group" = "ASC" ,"name" = "ASC"}) */ #[Assert\Valid] protected Collection $parameters; }