mam taką tabelkę z której wygenerewałem entites.

W Entity\Product.php
mam taką getIdCategory:
/** * @var \Doctrine\Common\Collections\Collection * * @ORM\ManyToMany(targetEntity="Catalog\Entity\Category", inversedBy="idProduct") * @ORM\JoinTable(name="category_product", * joinColumns={ * @ORM\JoinColumn(name="id_product", referencedColumnName="id_product") * }, * inverseJoinColumns={ * @ORM\JoinColumn(name="id_category", referencedColumnName="id_category") * } * ) */ public function __construct() { $this->idCategory = new \Doctrine\Common\Collections\ArrayCollection(); } /** * Get idCategory * * @return \Doctrine\Common\Collections\Collection */ public function getIdCategory() { return $this->idCategory; }
która zwraca wszystkie ID podkategorii do których należy produkt (produkt przypisany jest zawsze do 3 poziomu kategorii)
Przykładowo zwraca ID kategorii do których produkt nalezy: 10, 20, 30
Teraz chciałbym zbydować pełne drzewo kategorii (w górę) dla których należy produkt czyli coś takiego przykładowo:
|-KATEGORIA
|-- podkategoria
|--- ostatnia (id 10)
|
|- KOLEJNA KAT
|-- podkat
|--- ostatnia (id 20)
|
|- KAT
|-- podkat
|--- ostatnia (id 30)
jak wykorzystać doctrine do tego ? czy mam Tworzyć własne entity repository ?