代码之家  ›  专栏  ›  技术社区  ›  Nigel Poulton

Magento/Zend Framework:自定义连接语句:错误:当tableName是Zend\u Db\u Expr的实例时,无法准备表达式

  •  1
  • Nigel Poulton  · 技术社区  · 7 年前

    在Magento v1中,我尝试添加一个自定义内部连接,如下所示:

    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
    

    我尝试使用 新Zend\u Db\u 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');
    

    但这会引发以下错误:

    当tableName是Zend\u Db\u Expr的实例时,无法准备表达式

    有什么想法吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Shadoweb    7 年前

    您可以尝试:

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

    然后

    ->join(['test_lwin11' => $tlw11], 'test_lwin11.entity_id = e.entity_id')
    
    推荐文章