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 __construct( Categoria $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 setCategoriaPadre( Categoria $categoria ){
$this->categoriapadre = $categoria;
$categoria->addCategoriaHijo($this);
}
public function getCategoriaPadre(){
return $this->categoriapadre;
}
public function addCategoriaHijo( Categoria $categoria ){
$this->getCategoriasHijo()->add( $categoria );
$categoria->setCategoriaPadre( $this );
}
public function getCategoriasHijo(){
return $this->categoriashijo;
}
public function addProducto( Producto $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