<?php

namespace Autogedal\AutogedalHelper\Plugin;

use Magento\Framework\DB\Select;
use Magento\Sales\Model\ResourceModel\Order\Grid as OrderGrid;

class AddBundleSkuColumn
{
    /**
     * Modify the collection to add the bundle_sku column.
     *
     * @param OrderGrid $subject
     * @param Select $select
     * @return Select
     */
    public function afterGetMainTable($subject, $select)
    {
        $select->joinLeft(
            ['soi' => $subject->getTable('sales_order_item')],
            'main_table.entity_id = soi.order_id AND soi.product_type = "bundle" AND soi.parent_item_id IS NULL',
            ['bundle_sku' => new \Zend_Db_Expr("GROUP_CONCAT(soi.sku SEPARATOR ', ')")]
        );

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

        return $select;
    }
}
