zf2 zend framework php zend-framework zend-db

php - framework - Zend Db Select? Sustitución en condición join*



zend framework select (2)

No parece que haya ninguna sustitución de parámetros en la cláusula Zend_Db_Select ''s on.

Es muy molesto que no pueda hacer algo como:

$select->joinLeft(''st_line_item'',''st_line_item.order_id = st_order.id and st_line_item.status = ?'')

Entonces, ¿cuál es la alternativa idiomática que funciona dentro de la interfaz fluida? Podría hacer algo así como preparar la cláusula join en el exterior, pero ese no es el punto.


Así es como siempre lo hago, no es una obra de arte, pero hace el trabajo:

$param = $db->quote($param); $select->joinLeft( ''st_line_item'', ''st_line_item.order_id = st_order.id and st_line_item.status = '' . $param );


Esto debería funcionar:

$select->joinLeft( ''st_line_item'', $this->_db->quoteInto( ''st_line_item.order_id = st_order.id and st_line_item.status = ?'', $param ) )

Básicamente, cada vez que quiera escapar de una variable donde un método Zend_Db_ * no lo hace automáticamente, simplemente use Zend_Db :: quoteInto () para hacer el trabajo.