Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Consulas de Doctrine 2, UnitOfWork y Repositorios multiples

Estas en el tema de Consulas de Doctrine 2, UnitOfWork y Repositorios multiples en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola buen dia. Llevo algunos dias trabajando con Doctrine 2. Hice funcionar todo como debe ser pero tengo mis dudas. Primero. Cuando tengo que actualizar ...
  #1 (permalink)  
Antiguo 25/05/2011, 07:49
 
Fecha de Ingreso: marzo-2010
Mensajes: 71
Antigüedad: 14 años
Puntos: 24
Consulas de Doctrine 2, UnitOfWork y Repositorios multiples

Hola buen dia.

Llevo algunos dias trabajando con Doctrine 2. Hice funcionar todo como debe ser pero tengo mis dudas.
Primero. Cuando tengo que actualizar algun registro lo clasico con Doctrine:
Código PHP:
Ver original
  1. //$this->_em = Entity Manager
  2. $newUser = $this->_em->find('User', $id);
  3. $newUser->setName('UserName');
  4. $this->_em->persist($newUser);
  5. $this->_em->flush();
Todo muy lindo, lo que no me agrada es el hecho de tener que primero buscar al usuario por id y luego grabarlo sabiendo que con estos datos se puede actualizar con una sola consulta. Incluso, si esta entidad contiene una relacion y quiero cambiarla tendria que hacer otro find() en busca de la entidad relacionada.

Tal vez no sea asi, llevo poco con Doctrine y tal vez el UnitOfWork no solo hace los persist() sino tambien los find()(ahorraria consultas). Tambien puede ser que haya alguna funcion de actualizacion que no conosca.
Por querer ahorrar consultas en la mayoria vengo usando DQL. jeje

Otra duda es sobre usar más de un repositorio por entidad. En algunas funciones de los repositorios veo que al usar la variable $this->_entityName podria usar esta misma funcion en cualquier entidad, puesto que esta variable se adaptaria a la entidad que la use. Entonces podria tener un repositorio especial para la entidad con funciones unicas de la entidad y otro que sea “default” con consultas comunes que sirvan en varias entidades. Creo que esto lo arreglo con una clase que extienda de EntityRepository, solamente consulto para saber si hay algo de Doctrine que no conosca y lo simplifique.

Gracias
  #2 (permalink)  
Antiguo 26/05/2011, 02:02
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Consulas de Doctrine 2, UnitOfWork y Repositorios multiples

Si te preocupa tirar una par de queries de mas, utiliza DQL directamente.

Con respecto al Repository, lo único que tienes que hacer es extender.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 26/05/2011, 06:52
 
Fecha de Ingreso: marzo-2010
Mensajes: 71
Antigüedad: 14 años
Puntos: 24
Respuesta: Consulas de Doctrine 2, UnitOfWork y Repositorios multiples

Ok, entonces iba bien encaminado con el DQL.

Gracias masterpuppet

Etiquetas: doctrine, multiples, repositorios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:40.