2011-01-13 14 views
7

Magento costruisce la query SQL comeCome si visualizza una query sql Magento come una stringa?

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

Esiste un modo per visualizzare la query risultante in un formato stringa, anziché stampare l'oggetto enorme per esempio

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

risposta

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

echo $select; 
+9

Per i programmatori, ciò che sta accadendo qui è che l'oggetto selezionato viene lanciato come una stringa quando viene usato con echo. L'utilizzo di (stringa) $ select o $ seletct -> __ toString() produrrebbe gli stessi risultati. –

4

ho quasi avuto per coloro che sono interessati è necessario utilizzare -> __ toString() per esempio

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

eco è appena sufficiente in quanto ha il proprio metodo toString –

+1

e, a volte è necessario lanciare per attivare il metodo '__toString' automaticamente. Qualcosa come 'echo (stringa) $ this-> getSelect ...' – clockworkgeek

Problemi correlati