Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/04/2012, 15:17
chemajmb
 
Fecha de Ingreso: enero-2012
Ubicación: España
Mensajes: 150
Antigüedad: 12 años, 3 meses
Puntos: 0
Doctrine 2: Creando las entidades y sus metodos

Tengo un problema con mi entidad y es que no me carga una relacion como una coleccion o eso creo.

Mi entidad:
Código PHP:
<?php
namespace Entidad
;

use 
DoctrineCommonCollectionsArrayCollection;

/** 
 * @Entity(repositoryClass="Repositorio\categoriaRepositorio")
 * @Table(name="categorias")
 **/
class Categoria
{
    
/** @Id @GeneratedValue(strategy="AUTO") @Column(type="integer") **/
    
protected $id;
    
/** @OneToOne(targetEntity="Categoria", inversedBy="categoriashijo" )
     *  @JoinColumn(name="fkidcategoria", referencedColumnName="id") **/ 
    
protected $categoriapadre;
    
/** @OneToMany(targetEntity="Categoria", mappedBy="categoriapadre") **/
    
protected $categoriashijo;
    
/** @OneToMany(targetEntity="Producto", mappedBy="categoria") **/
    
protected $productos;
    
/** @Column(type="string") **/
    
protected $nombre;
    
/** @Column(type="string") **/
    
protected $urlrelativa;
    
/** @Column(type="text") **/
    
protected $descripcion;
    
/** @Column(type="boolean") **/
    
protected $visible;
    
/** @Column(type="boolean") **/
    
private $activo;
    
    public function 
__constructCategoria $categoria null )
    {
        if ( 
$categoria instanceof Categoria )
            
$this->setCategoriaPadre$categoria );
        
$this->categoriashijo = new ArrayCollection();
        
$this->productos = new ArrayCollection();
    }

    public function 
setId$valor ){
        
$this->id = (int)$valor;
    }
    public function 
getId(){
        return 
$this->id;
    }
    public function 
setCategoriaPadreCategoria $categoria ){
        
$this->categoriapadre $categoria;
        
$categoria->addCategoriaHijo($this);
    }
    public function 
getCategoriaPadre(){
        return 
$this->categoriapadre;
    }
    public function 
addCategoriaHijoCategoria $categoria ){
        
$this->getCategoriasHijo()->add$categoria );
        
$categoria->setCategoriaPadre$this );
    }
    public function 
getCategoriasHijo(){
        return 
$this->categoriashijo;
    }
    public function 
addProductoProducto $producto ){
        
$this->getProductos()->add($producto);
        
$producto->setCategoria($this);
    }
    public function 
getProductos(){
        
$this->productos;
    }
    public function 
setNombre$valor ){
        
$this->nombre = (string)$valor;
    }
    public function 
getNombre(){
        return 
$this->nombre;
    }
    public function 
setUrlRelativa$valor ){
        
$this->urlrelativa = (string)$valor;
    }
    public function 
getUrlRelativa(){
        return 
$this->urlrelativa;
    }
    public function 
setDescripcion$valor ){
        
$this->descripcion = (string)$valor;
    }
    public function 
getDescripcion(){
        return 
$this->descripcion;
    }
    public function 
setVisible$valor ){
        
$this->visible = (boolean)$valor;
    }
    public function 
getVisible(){
        return 
$this->visible;
    }
    public function 
setActivo$valor ){
        
$this->activo = (boolean)$valor;
    }
    public function 
getActivo(){
        return 
$this->activo;
    }
}
?>
Yo me traigo de la base de datos un categoria que tiene varias categorias hijo, osea, deberia de cargarme la colecion de categorias hijo en el atributo "categoriashijo" pero no me lo hace, simplemente me carga uno, el ultimo hijo.

¿ Como tengo que hacerlo ?

Gracias, un saludo!

EDITADO:
Ya encontre el error, tenia mal definida la entidad