Foros del Web » Programando para Internet » PHP » Symfony »

[SOLUCIONADO] Problema con relaciones en symfony2

Estas en el tema de Problema con relaciones en symfony2 en el foro de Symfony en Foros del Web. Hola! tengo un problema con unas entidades y sus asociaciones, Les comento, tengo una entidad llamada CategoriaItem, en la bd figura compuesta por id, descripcion, ...
  #1 (permalink)  
Antiguo 25/07/2013, 07:24
 
Fecha de Ingreso: junio-2013
Mensajes: 14
Antigüedad: 11 años, 5 meses
Puntos: 0
Problema con relaciones en symfony2

Hola! tengo un problema con unas entidades y sus asociaciones,
Les comento, tengo una entidad llamada CategoriaItem, en la bd figura compuesta por
id, descripcion, categoria_padre_id
La idea es tener una categoria que tenga opcionalmente otras categorias de las que depende (una cardinalidad de (0,n) ), por ejemplo
Si tengo Root como categoria, podria tener categoria hija, a "hija_root" y esto se veria reflejado asi en la base de datos
id --> 1
descripcion --> Root
categoria_padre_id--> NULL


id-->2
descripcion-->hija_root
categoria_padre_id = 1

O sea la categoria padre id de una categoria seria el id de su padre.

<?php

namespace P2012\SistemaCvBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/**
* CategoriaItem
*
* @ORM\Table(name="categoria_item")
* @ORM\Entity
*
*
*/
class CategoriaItem
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
* @ORM\OneToMany(targetEntity="CategoriaItem", mappedBy="categoriaPadreId")
*
*/

protected $id;


/**
* @var string
*
* @ORM\Column(name="descripcion", type="string", length=255, nullable=false)
*/
protected $descripcion;


/**
*
* @ORM\ManyToOne(targetEntity="CategoriaItem", inversedBy="id", cascade={"remove"})
*/
protected $categoriaPadreId;

public function __construct() {
$this->id = new ArrayCollection();
}



/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}

/**
* Set descripcion
*
* @param string $descripcion
* @return CategoriaItem
*/
public function setDescripcion($descripcion)
{
$this->descripcion = $descripcion;

return $this;
}

/**
* Get descripcion
*
* @return string
*/
public function getDescripcion()
{
return $this->descripcion;
}

/**
* Set categoriaPadreId
*
* @param integer $categoriaPadreId
* @return CategoriaItem
*/
public function setCategoriaPadreId($categoriaPadreId)
{
$this->categoriaPadreId = $categoriaPadreId;

return $this;
}

/**
* Get categoriaPadreId
*
* @return integer
*/
public function getCategoriaPadreId()
{
return $this->categoriaPadreId;
}


public function __toString()
{
return $this->descripcion;
}
}
Inicialmente la represente usando ManyToOne y OneToMany, diciendo que categoria padre id tiene una relacion de uno a muchos con "id" e id tiene una relacion con muchas categorias hijas. El tema de esto es que si intento borrar la clase supongamos root, no me borraba las q cuelgan de esa clase. Intente usando ahora manytomany pero no me funciona bien. Revise la documentacion, pero la verdad no consegui hacerlo andar.
Alguna idea?
Muchas grax saludos!
  #2 (permalink)  
Antiguo 25/07/2013, 08:09
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Problema con relaciones en symfony2

En la doc tienes un ejemplo de self-referencing que justamente es sobre lo que tu estas tratando http://docs.doctrine-project.org/en/...lf-referencing, te sugiero tambien que leas sobre orphan removal http://docs.doctrine-project.org/en/...orphan-removal y que de ser posible configures el delete a nivel de la bbdd http://docs.doctrine-project.org/en/...tml#joincolumn(atributo onDelete)

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 25/07/2013, 08:10
 
Fecha de Ingreso: febrero-2004
Ubicación: Guatemala
Mensajes: 117
Antigüedad: 20 años, 9 meses
Puntos: 2
Respuesta: Problema con relaciones en symfony2

En symfony 1. existia el plugin actAsNested, revisa la documentación y creo que podras resolver tu tema.

Saludos.
  #4 (permalink)  
Antiguo 25/07/2013, 22:41
 
Fecha de Ingreso: junio-2013
Mensajes: 14
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema con relaciones en symfony2

Gracias gente, ya lo pude arreglar!

Etiquetas: relaciones, symfony2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:35.