Salut 
D'après vous est-il possible d'écrire une requête comme celle ci avec zend_db et select() ?
 
	
	1 2 3 4 5 6 7
   | select * from (
    select * from reservations where date_fin >= NOW()
) as r
join (
  select * from clients where concat(prenom,' ',nom) like 'isab%'
  ) as c
on r.id_client = c.id | 
 Pour info voila mon code actuel (qui en fonctionne donc pas) :
 
	
	1 2 3 4 5 6 7 8 9 10 11
   | $query = $db_reservations->select()
            ->setIntegrityCheck(false)
            ->from(
                    $db_reservations->select()->from(array('r'=>'reservations'),array('id_resa' => 'id' , 'chambre' , 'date_debut' , 'date_fin' , 'periode_jrs' => 'DATEDIFF(date_fin, date_debut )' , 'jrs_restants' => 'DATEDIFF(date_fin, NOW() )'))
                    ->where('date_fin >= NOW()')
                  )
            ->join(new Zend_Db_Expr('('.
                $db_reservations->select()
                ->from('clients', array('id_client' => 'id' , 'client_nom' => 'nom' , 'client_prenom' => 'prenom'))
            .')'),'r.id_client = c.id')
        ; | 
 Et voila la requête générée :
	
	SELECT `t`.*, `t_2`.* FROM (SELECT `r`.`id` AS `id_resa`, `r`.`chambre`, `r`.`date_debut`, `r`.`date_fin`, DATEDIFF(date_fin, date_debut ) AS `periode_jrs`, DATEDIFF(date_fin, NOW() ) AS `jrs_restants` FROM `reservations` AS `r` WHERE (date_fin >= NOW())) AS `t` INNER JOIN () AS `t_2` ON r.id_client = c.id
 
						
					
Partager