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

ordenar un consulta con cakephp

Estas en el tema de ordenar un consulta con cakephp en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Saludos Estoy haciendo una aplicacion en cakephp donde tengo 3 trablas Tareas que por foreignKey esta asociada a proyectos y proyectos esta asociada a clientes ...
  #1 (permalink)  
Antiguo 23/07/2012, 16:17
 
Fecha de Ingreso: noviembre-2008
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
ordenar un consulta con cakephp

Saludos

Estoy haciendo una aplicacion en cakephp donde tengo 3 trablas

Tareas que por foreignKey esta asociada a proyectos y proyectos esta asociada a clientes
lo que necesito es traerme las tareas en orden por el nombre del los clientes

pero no se como hacer un order para un tercer nivel, aver si alguien sabe como

del debug de un find de la tabla tareas sera asi

Código PHP:
Ver original
  1. [Task] => Array(
  2.             [task_id] => 165
  3.             [title]   => my tarea
  4.             [project_id] => 1
  5. )
  6. [Project] => Array(
  7.            [project_id] => 1
  8.            [title] => my porjecto
  9.            [client_id] => 1
  10.            [Client] => Array(
  11.                      [client_id] => 1
  12.                      [name] => my cliente
  13.            )
  14. )

el orden seria por Client.name

gracias de antemano
  #2 (permalink)  
Antiguo 29/07/2012, 00:42
 
Fecha de Ingreso: julio-2012
Mensajes: 30
Antigüedad: 11 años, 9 meses
Puntos: 7
Respuesta: ordenar un consulta con cakephp

Ok, veo que la relación de Tareas a Proyectos, y Proyectos a Cliente es de belongsTo, de Cliente a Proyectos así como Proyectos a Tareas es de hasMany.

En el find prueba algo como esto:

Código PHP:
$this->Task->find('all', array('order'=>'Client.name')); 
Puedes jugar colocando el recursive del modelo Task en 2 ó utilizar el Behavior Containable que te permite sólo traer aquellas relaciones y campos que realmente necesitas, reduciendo considerablemente el número de consultas que se realizan. Ejemplo:

Código PHP:
$this->Task->Behaviors->attach('Containable');
$this->Task->find('all', array('contain'=>array(
   
'Proyect'=>array('Client'=>array('order'=>'Client.name'))
  )
)); 
Espero te sirva ;)

Etiquetas: cakephp
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 16:51.