2011-01-13 14 views
7

Magento construye sus consultas SQL como¿Cómo se muestra una consulta Magento sql como una cadena?

$this->getSelect()->joinInner(
     array('sbao' => $this->getTable('sales/billing_agreement_order')), 
     'main_table.entity_id = sbao.order_id', 
     array() 
    ) 

¿Hay una manera de mostrar la consulta resultante en un formato de cadena en lugar de imprimir el objeto enorme, por ejemplo,

echo $this->getSelect()->joinInner(
     array('sbao' => $this->getTable('sales/billing_agreement_order')), 
     'main_table.entity_id = sbao.order_id', 
     array() 
    )->toString(); 

Respuesta

13
$select = $this->getSelect()->joinInner(
     array('sbao' => $this->getTable('sales/billing_agreement_order')), 
     'main_table.entity_id = sbao.order_id', 
     array() 
    ); 

echo $select; 
+9

Para la gente de programación, lo que está sucediendo aquí es que el objeto seleccionado se convierte como una cadena cuando se usa con echo. El uso de (cadena) $ select o $ seletct -> __ toString() produciría los mismos resultados. –

4

Casi lo tenía para aquellos interesados ​​que necesita usar -> __ toString() p. Ej.

echo $this->getSelect()->joinInner(
    array('sbao' => $this->getTable('sales/billing_agreement_order')), 
    'main_table.entity_id = sbao.order_id', 
    array() 
)->__toString() 
+2

eco es suficiente, ya que tiene su propio método toString –

+1

y, a veces es necesario echarlo a desencadenar el método '__toString' automáticamente. Algo como 'echo (cadena) $ this-> getSelect ...' – clockworkgeek

Cuestiones relacionadas