estoy tratando de replicar ejemplo de gedmo nested-set extensión blog, donde hay muchos nodos padre. Allí puede crear tantos nodos padres móviles como hijos (lo que es típico para un nested setWikipedia).Moving nodos "raíz" o de padres - Doctrina NestedSet extensión
Lectura a través de la sección de comentarios, el consejo común es eliminar @Gedmo\TreeRoot annotation/mapping
, pero si hago eso, puedo mover nodos de raíz, pero el árbol se rompe particularmente los identificadores izquierdo y derecho. Si guardo TreeRoot
, y trato de mover los nodos raíz, obtengo "no node brothers" o algo parecido, como era de esperar.
Mirando ejemplo vivo en el blog de la extensión se puede ver que usted es capaz de crear la categoría sin padres y moverlo hacia arriba o hacia abajo.
Mi categoría de entidades - partes pertinentes:
class Category
{
/**
* @Gedmo\TreeLeft
* @ORM\Column(name="lft", type="integer")
*/
private $lft;
/**
* @Gedmo\TreeLevel
* @ORM\Column(name="lvl", type="integer")
*/
private $lvl;
/**
* @Gedmo\TreeRight
* @ORM\Column(name="rgt", type="integer")
*/
private $rgt;
/**
* @Gedmo\TreeRoot
* @ORM\Column(name="root", type="integer", nullable=true)
*/
private $root;
/**
* @Gedmo\TreeParent
* @ORM\ManyToOne(targetEntity="Category", inversedBy="children")
*/
private $parent;
/**
* @ORM\OneToMany(targetEntity="Category", mappedBy="parent")
* @ORM\OrderBy({"lft" = "ASC"})
* @Exclude
*/
private $children;
}
Pregunta: Cómo hacer que el árbol de raíz múltiple (me gustaría evitar la creación de la categoría falso que será única raíz, y añadir todo lo demás como niño de ese nodo), y ser capaz de mover nodos raíz arriba y abajo?
P.S. Estoy en la rama principal.
¿Encontró una solución para esto? – lopsided
@lopsided Al final he hecho lo que quería evitar. Agregando la categoría raíz del árbol "falso" y todos los otros nodos raíz como secundarios del falso. Funciona, aunque hay algunas desventajas, ocultando la categoría falsa cuando se muestran categorías (en mi caso) en formularios o cuando se renderizan dentro de la lista desordenada, etc. –
Eso es lo que he ido ahora también. Funciona bien para mí, pero sigo rompiendo el árbol, no estoy seguro de que sea totalmente robusto. – lopsided