2010-05-03 10 views
11

Sto utilizzando l'interfaccia fluente per creare un oggetto/query Zend DB Select. Come parte della query, vorrei selezionare una stringa arbitraria, come "SELECT", "AS", tipo "FROM ...". foo non è una colonna, è solo una stringa letterale.Selezione stringhe arbitrarie con Zend DB Select?

Quando si seleziona un numero arbitrario, la query funziona come previsto. Quando cambio in una stringa, Zend cerca di trattare foo come una colonna, e genera un errore:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'l.foo' in 'field list' 

ho cercato avvolgendo la stringa in Zend_Db_Expr in vari modi, ad esempio:

$select->columns(array('type' => new Zend_Db_Expr('foo'))); 

che si ferma Zend di aggiungere il nome di correlazione, ma si tratta ancora come una colonna:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'foo' in 'field list' 

mi sento come devo mancare qualcosa di ovvio qui. Come faccio a dire a Zend di smettere di trattarlo come una colonna?

risposta

11

Forse magari provare:

$select->columns(array('type' => new Zend_Db_Expr("'foo'"))); 

È necessario avere in realtà citazioni di tutto il 'foo' in SQL pure.

+0

E 'stato. Grazie! – wizzard

Problemi correlati