query($sql); while($row = $database->fetchArray($query)){ $data[$row['supplierName']][] = $row; } return $data; } /** * get suppliers products * @param INT $idOrder id for the order * @param INT $idPackage id for the order * @param String $documentType the type of the document * @return Array Array of products estimations */ public function getSuppliersByPackageOrder($idOrder, $idPackage, $documentType){ global $database, $user; $supplierBidsHandler = new SupplierBids(); $idOrder = $database->escapeValue($idOrder); $idPackage = $database->escapeValue($idPackage); $documentType = $database->escapeValue($documentType); $data = []; $whereSql = ""; $documents = $this->getSupplierDocuments($idOrder, $documentType); $supplierBids = $supplierBidsHandler->getOrderSupplierBids($idOrder); if($user->getUserType() === USER_TYPES['SUPPLIER']){ $whereSql .= " AND s.idUser=".$user->getUserId(); } if($idPackage != 0){ $whereSql .= " AND idPackage=$idPackage"; } $sql = "SELECT s.id AS idSupplier, s.name AS supplierName FROM ".TABLES['rel_order_supplier_estimations']." rose INNER JOIN ".TABLES['suppliers']." s ON s.id=rose.idSupplier WHERE idOrder=$idOrder $whereSql ORDER BY s.id"; $query = $database->query($sql); while($row = $database->fetchArray($query)){ $data[$row['supplierName']]['idSupplier'] = $row['idSupplier']; $data[$row['supplierName']]['documents'] = isset($documents[$row['supplierName']]) ? $documents[$row['supplierName']] : []; $data[$row['supplierName']]['supplierBids'] = isset($supplierBids[$row['idSupplier']]) ? $supplierBids[$row['idSupplier']] : []; } return $data; } }