Foros del Web » Programando para Internet » PHP » Zend »

Consultar con JOIN en Zend Framework

Estas en el tema de Consultar con JOIN en Zend Framework en el foro de Zend en Foros del Web. Hola señores. Necesito ayuda con los siguiente: - Tengo que definir una consulta, para obtener un listado de registros de una tabla. hasta ahí no ...
  #1 (permalink)  
Antiguo 13/08/2008, 08:48
 
Fecha de Ingreso: febrero-2007
Mensajes: 35
Antigüedad: 17 años, 9 meses
Puntos: 0
Consultar con JOIN en Zend Framework

Hola señores.

Necesito ayuda con los siguiente:

- Tengo que definir una consulta, para obtener un listado de registros de una tabla.

hasta ahí no hay problema, ya que defino mi clase extendida de zend_db_table_abstract y todo bien, obtengo el listado.

El problema, es que como esa tabla tiene un un par de foreign key, necesito obtener datos de las otras tablas, por ejemplo :

"SELECT actividades.id, actividades.fecha, actividades.nombre AS actividad, usuarios.nombre AS usuario FROM actividades JOIN usuarios ON usuarios.idUsuario=actividades.idUsuario"

Como puedo obtener ese listado utilizando zend_db_table ???

Por favor cualquier ayuda es bienvenida.
Saludos!!!
  #2 (permalink)  
Antiguo 13/08/2008, 08:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Consultar con JOIN en Zend Framework

Hola claudiosalazarb,

Usa el método select() the Zend_Db_Table_Abstract para crear tu consulta avanzada:
Código PHP:
class mitabla extends Zend_Db_Table_Abstract {
          public function 
getActividadesConNombre() {
                     
$select $this->select();
                     
$select->from$this )
                                ->
innerJoin( array( 'u' => 'usuarios' ), 'u.*' );

                     return 
$this->fetchAll($select);
          }

Saludos.
  #3 (permalink)  
Antiguo 13/08/2008, 09:02
 
Fecha de Ingreso: febrero-2007
Mensajes: 35
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Consultar con JOIN en Zend Framework

Hola GatorV, gracias por responder tan rápido!

Oye, pero con esa consulta, sino me equivoco obtengo todos los campos de la tabla usuarios, cierto???, porque no veo donde se le indique que saque sólo usuarios.nombre. O eso no es posible???.

Saludos.
  #4 (permalink)  
Antiguo 13/08/2008, 09:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Consultar con JOIN en Zend Framework

Hola claudiosalazarb,

Si ves el Manual de Zend, puedes ver que con el segundo parámetro del join puedes indicarle un arreglo de campos.

Saludos.
  #5 (permalink)  
Antiguo 13/08/2008, 09:13
 
Fecha de Ingreso: febrero-2007
Mensajes: 35
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Consultar con JOIN en Zend Framework

Veamos, si no me equivoco, te refieres a este ejemplo...

Código PHP:
$select $db->select()
    ->
from(array('p' => 'products'),
        array(
'product_id'))
    ->
join(array('l' => 'line_items'),
        
'p.product_id = l.product_id',
        array(
'line_items_per_product' => 'COUNT(*)'))
    ->
group('p.product_id')
    ->
order(array('line_items_per_product DESC''product_id')); 
... donde :
array('product_id') se refiere a la columna a extraer de la tabla productos

y...
array('line_items_per_product' => 'COUNT(*)') se refiere a la columna a extraer de la tabla line_items...
  #6 (permalink)  
Antiguo 13/08/2008, 09:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Consultar con JOIN en Zend Framework

Es mejor que veas el manual directamente, podrás ver en el como ejecutar todos los metodos de Zend_Db_Select.

Saludos.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 02:29.