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

CakePhp: Duda con vista en relacion muchos a muchos

Estas en el tema de CakePhp: Duda con vista en relacion muchos a muchos en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola, tengo en trabajos_controller la funcion function view($id = null) { if (!$id) { $this->Session->setFlash(__('Trabajo inexistente.', true),'flash_bad'); $this->redirect(array('action' => 'index')); } $this->set('trabajo', $this->Trabajo->read(null, $id)); } ...
  #1 (permalink)  
Antiguo 11/02/2013, 14:12
 
Fecha de Ingreso: abril-2009
Mensajes: 80
Antigüedad: 13 años, 9 meses
Puntos: 0
CakePhp: Duda con vista en relacion muchos a muchos

hola, tengo en trabajos_controller la funcion

function view($id = null) {
if (!$id) {
$this->Session->setFlash(__('Trabajo inexistente.', true),'flash_bad');
$this->redirect(array('action' => 'index'));
}
$this->set('trabajo', $this->Trabajo->read(null, $id));
}


y en la vista view


foreach ($trabajo['Estudiante'] as $estudiante):
$class = null;
if ($i++ % 2 == 0) {
$class = ' class="altrow"';
}
?>
<tr<?php echo $class;?>>
<td><?php echo $estudiante['nombre'];?></td>
<td><?php echo $estudiante['ci'];?></td>
<td><?php echo $estudiante['telefono'];?></td>
<td><?php echo $estudiante['sexo'];?></td>

<td><?php echo $estudiante['correo'];?></td>
<td><?php echo $estudiante['grupo_id'];?></td>


</tr>
<?php endforeach; ?>


mi problema es que quiero mostrar el nombre del grupo en vez del id es decir, cambiar esta linea:
$estudiante['grupo_id']
para que no me muestre el id
  #2 (permalink)  
Antiguo 15/02/2013, 11:18
 
Fecha de Ingreso: febrero-2012
Mensajes: 37
Antigüedad: 10 años, 11 meses
Puntos: 5
Respuesta: CakePhp: Duda con vista en relacion muchos a muchos

Para traer el nombre del grupo además de su ID para grupo_id

Debes fijarte que tus modelos esten relacionados, mira el book:

http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html

Una vez que esten relacionados fijate en el "recursive" ( por default te trae las relacionadas en primer nivel )

Con esto, cuando hagas $this->Trabajo->read(null, $id) te trae las relaciones del ID
ahora puedes imprimir tu array con pr( ); para que veas como se formaron las llaves.

ya sólo te resta modificar tu foreach para que imprimas el nombre del grupo.

PD.
cada que hagas un $this->redirect() es recomendable que pongas un exit();
asi te puedes evitar algunas sorpresas.

Saludos

Etiquetas: cakephp, muchos, php, relacion
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 17:26.