Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用$select->;按ID获取产品名称;joinLeft()_Php_Sql_Magento_Magento 1.8 - Fatal编程技术网

Php 使用$select->;按ID获取产品名称;joinLeft()

Php 使用$select->;按ID获取产品名称;joinLeft(),php,sql,magento,magento-1.8,Php,Sql,Magento,Magento 1.8,我有一个模块,列出每种产品的客户,即当在admin中访问产品时,他有一个购买该产品的人的列表,采用相同的销售网格样式 在这个网格中,我只想显示相关产品的名称和SKU。在网格中,产品的id位于变量$id中 我使用下面的代码,但它返回所有应用程序产品,而不仅仅是产品ID X $select = $orders->getSelect(); $select->joinLeft('sales_flat_order_item', 'main_table.entity_id = s

我有一个模块,列出每种产品的客户,即当在admin中访问产品时,他有一个购买该产品的人的列表,采用相同的销售网格样式

在这个网格中,我只想显示相关产品的名称和SKU。在网格中,产品的id位于变量$id中

我使用下面的代码,但它返回所有应用程序产品,而不仅仅是产品ID X

    $select = $orders->getSelect();
    $select->joinLeft('sales_flat_order_item', 'main_table.entity_id = sales_flat_order_item.order_id', 
        array(
        'skus' => new Zend_Db_Expr('group_concat(sales_flat_order_item.sku SEPARATOR ", ")'),
        'qty_ordered' => new Zend_Db_Expr('group_concat(sales_flat_order_item.qty_ordered SEPARATOR ", ")'),
        )
        );

        $select->group('main_table.entity_id');
更新

这是工作代码,因此它只显示正在查看的产品的名称和SKU

   $select = $orders->getSelect();
  $select->joinLeft('sales_flat_order_item', 'main_table.entity_id = sales_flat_order_item.order_id AND sales_flat_order_item.product_id = ' . $id, 
        array(
        'skus' => new Zend_Db_Expr('group_concat(sales_flat_order_item.sku SEPARATOR ", ")'),
        'qty_ordered' => new Zend_Db_Expr('group_concat(sales_flat_order_item.qty_ordered SEPARATOR ", ")'),
        )
        );

谢谢@scrowler

主表。实体id=销售\平面\订单\项目。订单id
是您的加入条件吗?您需要在中添加ID,例如,
main\u table.entity\u ID=sales\u flat\u order\u item.order\u ID和sales\u flat\u order\u item.product\u ID='$id
(未测试)没问题-您应该从问题中删除该更新,并将其作为答案发布instead@scrowler我意识到,当购买多个单位时,它会求和,结果总是显示1,知道为什么吗?因为你用逗号将数量连接在一起。执行数组求和或分解,并传递逗号和数量字符串