Ver Mensaje Individual
  #9 (permalink)  
Antiguo 23/03/2012, 13:57
chemajmb
 
Fecha de Ingreso: enero-2012
Ubicación: España
Mensajes: 150
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Empezando con Doctrine 2.2.1

Ok, ya he definido una entidad de mi proyecto, categorias, con 2 relaciones a si misma. No es el ejemplo mas simple pero tengo que hacerlo, creo que lo he hecho mas o menos bien. Tampoco me he explayado, quiero saber si voy bien y entonces entrar en detalles.

Código PHP:
<?php
use DoctrineCommonCollectionsArrayCollection;

/** 
 * @Entity
 * @Table(name="categorias")
 **/
class Categoria
{
    
/** @Id @GeneratedValue @Column(type="integer") **/
    
protected $id;
    
    
/** @Column(type="integer") **/
    
protected $fkidcategoria;
    
    
/**
     * @ManyToOne(targetEntity="Categoria", inversedBy="categoriashijo" )
     **/
    
protected $categoriapadre;
    
    
/** @OneToMany(targetEntity="Categoria", mappedBy="categoriapadre")
     */
    
protected $categoriashijo;
    
    
/** @Column(type="string") **/
    
protected $nombre;
    
/** @Column(type="string") **/
    
protected $urlrelativa;
    
/** @Column(type="text") **/
    
protected $descripcion;
    
/** @Column(type="boolean") **/
    
protected $visible;
    
/** @Column(type="boolean") **/
    
protected $activo;
    
    public function 
__constructCategoria $categoria null )
    {
        
$this->categoriapadre $categoria;
        
$this->categoriashijo = new ArrayCollection();
    }

    public function 
addCategoriaHijoCategoria $categoria )
    {
        
$this->categoriashijo[] = $categoria;
    }
    
}
Ahora bien, ¿ donde deberia colocar el codigo siguiente o que debo de hacer para poder trabajar con las entidades en mis controladores ?

Código PHP:
<?php

use DoctrineORMToolsSetup;
use 
DoctrineORMEntityManager;

require_once 
'Doctrine/Common/ClassLoader.php';

$loader = new DoctrineCommonClassLoader("Doctrine");
$loader->register();

$dbParams = array(
    
'driver' => 'pdo_mysql',
    
'user' => DB_USER,
    
'password' => DB_PASS,
    
'dbname' => DB_NAME
);
$path = array( DIR_MODELOS );
$config Setup::createAnnotationMetadataConfiguration($pathtrue);
$entityManager EntityManager::create($dbParams$config);

?>