2017-12-13 7 views
1

In Magento ist v1 ich eine benutzerdefinierte hinzufügen bin versucht Inner Join wie folgt:Magento/Zend Framework: Benutzerdefinierte Erklärung Mitglied werden: Fehler: Kann nicht Ausdruck vorbereiten, wenn Tabellenname Instanz Zend_Db_Expr

INNER JOIN (SELECT entity_id, LEFT(sku, 11) AS lwin11 FROM catalog_product_flat_1) AS test_lwin11 ON test_lwin11.entity_id = e.entity_id 

ich versucht, mit neu Zend_Db_Expr

$select->joinInner(['test_lwin11' => new Zend_Db_Expr('(SELECT entity_id, LEFT(sku, 11) AS lwin11 FROM catalog_product_flat_1)')], 'test_lwin11.entity_id = e.entity_id'); 

aber dies wird den folgenden Fehler zu werfen:

Ausdruck nicht vorbereiten kann, wenn Tabellenname Instanz von Zend_D ist b_Expr

Irgendwelche Ideen?

Antwort

0

können Sie versuchen:

$connection = Mage::getSingleton('core/resource')->getConnection('core_read'); 
$tlw11 = $connection ->select()->from('catalog_product_flat_1', ['entity_id', 'lwin11' => 'LEFT(sku, 11)']); 

Dann

->join(['test_lwin11' => $tlw11], 'test_lwin11.entity_id = e.entity_id') 
+1

Danke Shadowbob - die für mich gearbeitet –

Verwandte Themen