Cita:
Iniciado por GatorV Pues creo que sería una pérdida de performance el cargar todo Doctrine si no lo vas a usar, es mejor que tuvieras una clase que se encargue de levantar el Doctrine, y que esta sea usada por los modelos por necesidad, ya que no todos los modelos van a necesitar Doctrine pero sí muchos van a ocuparlo.
Saludos.
Ok, entiendo y comparto contigo todo menos la parte de que "no todos los modelos van a necesitar Doctrine".
¿ La clase para levantar Doctrine es esta ?
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_ENTIDADES );
$config = Setup::createAnnotationMetadataConfiguration($path, true);
$entityManager = EntityManager::create($dbParams, $config);
?>
¿ o te refieres a otra clase ?
Cita:
Iniciado por masterpuppet Comprueba tu entity, las claves foráneas se mapean a través de las relaciones, osea la propiedad $fkidcategoria no es necesaria y algo que no veo claramente, a que se refieren con relacionar el modelo con el em ?
Y tal cual lo tienes lo mas sencillo seria guardar el em en el registro, luego a traves de este haces el pull cuando lo necesites.
Saludos.
Si si, ;) muy atento pero es que un amigo me dijo que el tenia ambas, aunque pense en preguntarle por que y cuando lo usaba, al final se me olvido hacerlo. Pero el esta trabajando desde hace 6-7 años ya y es un buen consejero. De todas formas se lo preguntare. Ya se que para consultar la fkidcategoria si mapeo la relacion lo haria de la forma $categoriapadre->id en vez de $fkidcategoria, pero el me dijo que usaba ambas y por eso puse la relacion y la clave foranea como tal.
El registro lo utilizo para pasarle los datos a la vista. En el constructor del controlador y de la vista le paso la referencia al registro para que ambos puedan acceder a sus variables. Asi desde el controlador guardo en cualquier momento los datos $this->_regs->titulo y en la vista antes de hacer un include de la plantilla .phtml cargo las variables
Código PHP:
foreach ($this->_regs as $key => $value)
{
$$key = $value;
}
Cita:
Iniciado por masterpuppet Es que esa parte es la que no veo, si se refieren a que una categoría como la que expone chemajmb utilice el em, no me parece lo correcto, es mas creo que debe ser todo lo contrario, no debería saber siquiera de la existencia de un mecanismo de persistencia, ahora si se refieren a un servicio o un mapper que haga uso del em ahi si estaria de acuerdo.
@chemajmb, model y entity son cosas diferentes y deberían ser clases separadas, personalmente lo utilizo de esta forma, el "problema" de esto es que por cada modelo que persiste vas a tener 3 clases, la ganancia, el modelo es completamente libre de la persistencia, igual te sugiero que como estas empezando trabajes directamente con entities para no liarte.
Saludos.
Quieres decir que en vez de tener 2 o 3 clases por cada entidad de mi proyecto, mejor hacer la logica de negocio, osea el modelo, los metodos que necesito para funcionar, en las entidades propias de doctrine ? para simplificar todo un poco ?
Tengo que marchar, luego vengo le doy un repaso y comento algo si me he dejado sin comentar.
Un saludo