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

He probado en mi controlador de 3 maneras:
( Simplemente estoy probando si funciona, tengo claro que luego tengo que hacer metodos en los modelos para hacer llamadas del tipo $modelo->encuentra($id) en vez de $modelo->_em->find("nombreEntidad", $id ) ).
Código:
public function prueba(){
        $this->_regs->titulo = 'Prueba';
        //$dql = 'SELECT id, nombre FROM Categoria WHERE 1 = 1';
        //$this->_regs->find = $this->_categoria->_em->createQuery($dql)->getResult();
        $this->_regs->find2 = $this->_categoria->_em->find("Categoria", 2);
        //$this->_regs->find = $this->_categoria->_em->getRepository("categoria")->find(array('id'=>2));
        $this->_vista->renderizar('prueba');
    }
_categoria es una propiedad del controlador que es una instancia del modelo que tiene una propiedad _em que es el EntityManager, iniciado en el constructor del modelo.

Constructor del modelo
Código:
    public function __construct()
    {
        require_once DIR_APLICACION_PRINCIPAL . 'DoctrineLanzador.php';
        $this->_em = $em;
    }
Archivo DoctrineLanzador.php
Código:
<?php

use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;

require_once 'Doctrine/Common/ClassLoader.php';

$loader = new \Doctrine\Common\ClassLoader("Doctrine");
$loader->register();

$classLoader = new \Doctrine\Common\ClassLoader('Entity', 'D:/webs/mimascota/entidades/');
$classLoader->register();

$dbParams = array(
    'driver' => 'pdo_mysql',
    'user' => DB_USER,
    'password' => DB_PASS,
    'dbname' => DB_NAME
);
$path = array( 'D:/webs/mimascota/entidades/' );
$config = Setup::createAnnotationMetadataConfiguration($path, true);

$em = EntityManager::create($dbParams, $config);

?>
¿ Esta bien hecho asi compañero ? ¿ que me dices ?

Última edición por chemajmb; 27/03/2012 a las 07:07