entityManager = $entityManager; $this->container = $container; } public function list(int $exportId) { $connection = $this->container->get('doctrine.dbal.projects_connection'); // $sql = 'SELECT * FROM export_templates WHERE export_id = ' . $exportId; $sql = 'SELECT * FROM element_export WHERE export_id = ' . $exportId; $connectionPim = $this->container->get('doctrine.dbal.pim_connection'); $qb = $connectionPim->createQueryBuilder(); $stmt = $connection->prepare($sql); $stmt->execute(); // $exportsTemplates = $stmt->fetchAll(); $elementsExport = $stmt->fetchAll(); $arrayRet = []; // $stringIdExportTemplate = ''; $stringIdsElementExport = ''; /* foreach ($exportsTemplates as $exportTemplate) { $stringIdExportTemplate .= ($stringIdExportTemplate) ? ', ' : null; $stringIdExportTemplate .= $exportTemplate['id']; }*/ foreach ($elementsExport as $elementExport) { $stringIdsElementExport .= ($stringIdsElementExport) ? ', ' : null; $stringIdsElementExport .= $elementExport['element_id']; } /* $qbProject = $this->entityManager->createQueryBuilder(); $sql = ' SELECT eet.id, e.elementId as element_id, eet.exportTemplate_id FROM elements_export_templates as eet INNER JOIN element as e ON eet.element_id = e.id WHERE exportTemplate_id IN (' . $stringIdExportTemplate . ') ';*/ $sql = ' SELECT e.elementId FROM element AS e WHERE e.elementId IN (' . $stringIdsElementExport . ') '; $stmt = $connection->prepare($sql); $stmt->execute(); // $elementsExportsTemplates = $stmt->fetchAll(); $elements = $stmt->fetchAll(); /* Array usefull ? */ $arrayIdsElement = []; // foreach ($elementsExportsTemplates as $elementExport) { foreach ($elements as $element) { // $arrayIdsElement[] = $elementExport['element_id']; $arrayIdsElement[] = $element['elementId']; } $qb->select('e.id, e.name, e.element_type_id') ->from('element', 'e') ->where($qb->expr()->in('e.id', $arrayIdsElement)); $elementsPim = $qb->execute()->fetchAll(); $elementsPimArrayById = []; foreach ($elementsPim as $elementPim) { $elementsPimArrayById[$elementPim['id']] = $elementPim['name']; } // foreach ($exportsTemplates as $exportTemplate) { foreach ($elementsExport as $elementExport) { $arrayToAdd = []; // foreach ($elementsExportsTemplates as $elementExport) { /* if ($elementExport['exportTemplate_id'] === $exportTemplate['id']) { $arrayToAdd['products'][] = ['id' => $elementExport['element_id'], 'name' => $elementsPimArrayById[$elementExport['element_id']]];*/ $arrayToAdd['products'][] = ['id' => $elementExport['element_id'], 'name' => $elementsPimArrayById[$elementExport['element_id']]]; // Expected data ? // } // } $arrayToAdd['status'] = ''; $arrayToAdd['thumb'] = 'assets/img/pages/page1.jpg'; $arrayToAdd['image'] = 'assets/img/pages/page1.jpg'; $arrayToAdd['height'] = '794'; $arrayToAdd['width'] = '609'; $arrayRet[] = $arrayToAdd; } return $arrayRet; } }