/**
  * @param \Spryker\Zed\Gui\Communication\Table\TableConfiguration $config
  *
  * @return array
  */
 protected function prepareData(TableConfiguration $config)
 {
     $query = $this->productCategoryQueryContainer->queryProductsByCategoryId($this->idCategory, $this->locale);
     //because datatables won't let use what's already defined in queryProductsByCategoryId()
     //it wil complain that the column <INSERT_NAME> is not found in <table>
     $query->withColumn(SpyProductCategoryTableMap::COL_PRODUCT_ORDER, 'product_order_alias');
     $query->orderBy('product_order_alias', Criteria::ASC);
     $query->setModelAlias('spy_product_abstract');
     $queryResults = $this->runQuery($query, $config);
     $results = [];
     foreach ($queryResults as $productCategory) {
         $results[] = [SpyProductAbstractTableMap::COL_ID_PRODUCT_ABSTRACT => $productCategory['id_product_abstract'], SpyProductAbstractTableMap::COL_SKU => $productCategory['sku'], SpyProductAbstractLocalizedAttributesTableMap::COL_NAME => $productCategory['name'], SpyProductCategoryTableMap::COL_PRODUCT_ORDER => $this->getOrderHtml($productCategory), self::COL_CHECKBOX => $this->getCheckboxHtml($productCategory)];
     }
     unset($queryResults);
     return $results;
 }
 /**
  * @param int $idCategory
  * @param \Generated\Shared\Transfer\LocaleTransfer $locale
  *
  * @return \Orm\Zed\ProductCategory\Persistence\SpyProductCategory[]
  */
 public function getProductsByCategory($idCategory, LocaleTransfer $locale)
 {
     return $this->productCategoryQueryContainer->queryProductsByCategoryId($idCategory, $locale)->orderByFkProductAbstract()->find();
 }