Ich habe eine Datentabelle, die Medien, Dokumente, PDFs und Ordner-Liste enthält. Wie bei Google Drive, möchte ich den Breadcrumb oben in der Datentabelle anzeigen. Die Datentabelle spiegelt die Änderungen wider, wenn Sie über jQuery auf einen beliebigen Ordner klicken. Alle Dinge sind bereit, außer der Brotkrume. Ich habe die ID des aktuellen geöffneten Ordners, aber ich weiß nicht, wie ich die Hierarchie vom Stamm zum aktuellen Ordner bekomme.Symfony2 rekursive Abfrage-Generator
Momentan gibt es mir die Eltern-ID und den Namen nicht die gesamte Hierarchie.
Hinweis: - Es gibt keine Beziehung zwischen den Spalten wie in der gleichen Tabelle.
Entity Felder: - id, nameDisplay, parentId
Definition Entity: -
/**
* driveall
* @ORM\Table(name="Driveall")
* @ORM\Entity(repositoryClass="DriveBundle\Repository\DriveallRepository")
*/
class Driveall
{
/**
* @var int
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
* @ORM\Column(name="Name_Display", type="string", length=255)
*/
private $nameDisplay;
/**
* @var int
* @ORM\Column(name="ParentID", type="integer")
*/
private $parentID;
/**
* Get id
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set nameDisplay
* @param string $nameDisplay
* @return driveall
*/
public function setNameDisplay($nameDisplay)
{
$this->nameDisplay = $nameDisplay;
return $this;
}
/**
* Get nameDisplay
* @return string
*/
public function getNameDisplay()
{
return $this->nameDisplay;
}
/**
* Set parentID
* @param integer $parentID
* @return Driveall
*/
public function setParentID($parentID)
{
$this->parentID = $parentID;
return $this;
}
/**
* Get parentID
* @return integer
*/
public function getParentID()
{
return $this->parentID;
}
}
Query-Builder: -
$qb = $this->_em->createQueryBuilder();
$qb->select("d.parentID,pid.nameDisplay")
->from($this->_entityName, 'd')
->leftJoin($this->_entityName, 'pid', 'WITH', 'pid.id = d.parentID')
->where("d.status=0")
->andWhere("d.id=" . $id)
->orderBy('d.nameDisplay', 'ASC');
$data = $qb->getQuery()
->getResult();
return $data;
Veröffentlichen Sie Ihre Ordner Entitätsdefinition –
@MKhalidJunaid Entity-Definition hinzugefügt finden –