UID de l'entrepot * @id_machine UID de la machine * * @return chips Liste des puces/cartes disponibles * */ public static function getForMachine($id_warehouse, $id_machine){ /* (1) On récupère les groupes de la machine ---------------------------------------------------------*/ $get_clus = new Repo('machine/getClusters', [$id_warehouse, $id_machine]); $clusters = $get_clus->answer(); if( $clusters === false ) return []; /* (2) On récupère les modules associés aux clusters ---------------------------------------------------------*/ $module_ids = []; foreach($clusters as $cluster){ $get_mods = new Repo('module/getForMachineCluster', [$id_warehouse, $cluster['id_machine_cluster']]); $mods = $get_mods->answer(); foreach($mods as $module){ // si pas déja -> on ajoute l'id module à la liste if( !in_array($module['id_module'], $module_ids) ) $module_ids[] = $module['id_module']; } } /* (3) On récupère la liste des CHIPS (associés aux modules) ---------------------------------------------------------*/ $chips = []; foreach($module_ids as $module_id){ $chip_req = Table::get('chip') ->select('*') ->whereIdModule($module_id); $chip_fetched = $chip_req->fetch(); foreach($chip_fetched as $chip) $chips[] = $chip; } /* [2] On retourne le résultat =========================================================*/ return $chips; } } ?>