Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/04/2012, 13:16
Avatar de masterpuppet
masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Doctrine 2 accediendo a campos de una relacion mediante lazy load

Personalmente prefiero menos magia, por lo tanto utilizo setters & getters, pero es a gusto de cada uno.

Con respecto al tema de las queries, porque utilizas partials ?, mismo la gente de doctrine te dice que solo lo utilices para optimizar y que tengas en cuenta que hace a tu código mas frágil y me extraña hasta que te este funcionando, el DQL para dameTodas debería ser algo así:

Código DQL:
Ver original
  1. SELECT c FROM Category c,
  2. JOIN c.parent p
  3. WHERE c.id > 1 AND c.activo = 1
  4. ORDER BY p.nombre DESC, c.visible DESC

luego no estas utilizando los parametros en el DQL, esto:

Código PHP:
Ver original
  1. $where .= " AND p.id = $avalue";

debería ser:

Código PHP:
Ver original
  1. $where .= " AND p.id = :id";
  2. ...
  3. $query->setParameter('id', $id);

te sugiero que revises todo el DQL prestando atención a la documentación http://docs.doctrine-project.org/pro...-language.html

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)