2011-02-10 9 views
6

¿Cómo se activa esta consulta de unión izquierda:Zend ¿Cómo se crea una combinación izquierda

select advertisercontest.*, advertiseraccount.advertiserid, advertiseraccount.companyname 
from advertisercontest 
left join advertiseraccount on advertiseraccount.loginid = advertisercontest.loginid 
where advertisercontest.golive is not NULL; 

en una combinación izquierda en Zend?

Respuesta

19

Usted podría hacer de la siguiente manera:

$db = Zend_Db_Table::getDefaultAdapter(); 

    $select = $db->select(); 
    $select->from('advertisercontest', '*') 
      ->joinLeft(
        'advertiseraccount', 
        'advertiseraccount.loginid = advertisercontest.loginid', 
        array('advertiseraccount.advertiserid', 'advertiseraccount.companyname') 
        ) 
      ->where('advertisercontest.golive is not NULL');; 

    $result = $db->fetchAll($select); 

    var_dump($result); 

espero que está bien.

+0

Awesome !! ¡Gracias! Tengo una pregunta. Extiendo Zend_Db_Table_Abstract y tuve esto: $ rows = $ this-> select() -> from ('advertisercontest', '*') -> joinLeft ('advertiseraccount', 'advertiseraccount.loginid = advertisercontest. loginid ', array (' advertiseraccount.advertiserid ',' advertiseraccount.companyname ')) -> donde (' advertisercontest.golive no es NULL ') -> order (' advertisercontestid DESC '); Pero no funcionó? Pero su ejemplo sí. Tengo en mis applications.ini resources.db.isDefaultTableAdapter = true – coder3

+0

@ coder3. Es probable que el bacalao no funcione porque necesita realizar $ rows = $ this-> fetchAll ($ select). En tu caso, tienes $ rows que serán solo una instancia de Zend_Db_Select, no los resultados reales. De todos modos, si encuentras que mi respuesta es aceptable, me gustaría que pudieras aceptarla. Gracias y espero que funcione. – Marcin

+0

Respuesta aceptada. ¡Gracias! – coder3

Cuestiones relacionadas