Tengo una consulta en el find de este tipo:

        $data = $this->find('all',array(
                'fields'=>array('date_part(\'YEAR\',"Postulante".created)',
'date_part(\'MONTH\',"Postulante".created)',
'Persona.genero','count("Postulante".id)'),

'group'=>array('Persona.genero','date_part(\'YEAR\',"Postulante".created)','date_part(\'MONTH\',"Postulante".created)'),
                'conditions' => array('Postulante.estado' => 1),
                'order' =>
array('date_part(\'YEAR\',"Postulante".created)',
'date_part(\'MONTH\',"Postulante".created)')
                )
        );

Pero a pesar que no le indico en "fields" que me traiga el id de
postulante, igual lo aparece, alguien sabe como excluirselo?

Esto me devuelve la consulta:

*Error: * SQLSTATE[42803]: Grouping error: 7 ERROR: la columna
«Postulante.id» debe aparecer en la cláusula GROUP BY o ser usada en una
función de agregación LINE 1: ...ro" AS "Persona__genero",
count("Postulante".id), "Postulant... ^

*SQL Query: * SELECT date_part('YEAR',"Postulante".created),
date_part('MONTH',"Postulante".created), "Persona"."genero" AS
"Persona__genero", count("Postulante".id), "Postulante"."id" AS
"Postulante__id" FROM "produccion"."postulantes" AS "Postulante" LEFT JOIN
"produccion"."personas" AS "Persona" ON ("Postulante"."persona_id" =
"Persona"."id") LEFT JOIN "produccion"."ubigeos" AS "Ubigeo" ON
("Postulante"."ubigeo_id" = "Ubigeo"."id") WHERE "Postulante"."estado" = 1
GROUP BY "Persona"."genero", date_part('YEAR',"Postulante"."created"),
date_part('MONTH',"Postulante"."created") ORDER BY
date_part('YEAR',"Postulante".created) ASC,
date_part('MONTH',"Postulante".created) ASC

*Notice: * If you want to customize this error message, create
postulantes\View\Errors\pdo_error.ctp
Muchas gracias, por su ayuda,

*Aland Laines Calonge*
Twitter: @lainessolutions
Comunidad CakePHP en Español
Google+<https://plus.google.com/communities/106077549014949879129>
http://about.me/aland.laines

-- 
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos 
electrónicos, envía un correo electrónico a 
cakephp-es+unsubscr...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a 
cakephp-es@googlegroups.com.
Visita este grupo en http://groups.google.com/group/cakephp-es.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

Responder a