Ver Mensaje Individual
  #11 (permalink)  
Antiguo 30/10/2012, 09:34
Luvelnet
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Respuesta: Symfony2 y Slugify en las entidades (Famoso manual Jobbet)

Acabo de poner esta query y ahora me salta el siguiente error:

Method "title" for object "cosmo\HomeBundle\Entity\UserPublish" does not exist in HomeBundle:Notices:index.html.twig at line 4

Y tiene gran parte de lógica, si no estuviesemos haciendo los JOIN, ya que la entidad "intermedia" para Doctrine sólo tiene las propiedades notices, users y categories. Pero entiendo que al hacer las JOIN ya disponemos de todas las propiedades de las entidades incluidas en la query y parece ser que no es así, que sólo obtiene las propiedades de UserPublish y de ahí el error. El method title está en la entidad de notices.

Yo necesito obtener de notices ciertos campos, de categories la categoría y de users el login, por lo que me quedaría una query parecida a la que yo tenía antes y que tampoco funciona porque el titleslug no lo reconoce:

Código:
//Esta es tu query
SELECT up, n, c, u
  FROM HomeBundle:UserPublish up
   JOIN up.notices n
   JOIN up.categories c
   JOIN up.users u

//Estos son los campos que yo necesito (Aquí saldría el error que no reconoce el titleslug)

SELECT n.title,
             n.titleslug,
             n.notice,
             n.createdAt,
             c.category, 
             u.login
  FROM HomeBundle:UserPublish up
   JOIN up.notices n
   JOIN up.categories c
   JOIN up.users u

//La última solución que se me ocurría era sacar sólo n, c y u, pero al quitar up me sale el siguiente error:

//[Semantical Error] line 0, col -1 near 'SELECT n, c,': Error: Cannot select entity //through identification variables without choosing at least one root entity alias.

SELECT n, c, u
  FROM HomeBundle:UserPublish up
   JOIN up.notices n
   JOIN up.categories c
   JOIN up.users u
Nunca me resultó tan complicado relacionar varias tablas para sacar la información que me interesa y pasandola por el método slugify, en este caso el titulo para que a la hora de ponerlo en un LINK tenga una url amigable.

Gracias nuevamente por todo el apoyo mostrado y aver si podemos conseguir una solución a todo esto.