/** * Renvoie les ponts sur les rivières de la collection * @param RiviereCollection $rivieres * @return InfrastructureCollection */ public static function getPontsDeRivieres(RiviereCollection $rivieres) { if ($rivieres->count() == 0) { return new InfrastructureCollection(); } $req = "SELECT * FROM infrastructure WHERE "; $prem = true; $req .= ' ( '; foreach ($rivieres as $riviere) { /** @var Riviere $riviere */ if (!$prem) { $req .= ' OR '; } $req .= " ((idHexa = " . $riviere->getIdHexa1() . " AND idHexa2 = " . $riviere->getIdHexa2() . ") OR (idHexa = " . $riviere->getIdHexa2() . " AND idHexa2 = " . $riviere->getIdHexa1() . ")) "; $prem = false; } $req .= ") AND idType=" . Infrastructures::PONT . ";"; return DbHandler::collFromQuery($req, 'Infrastructure', 'InfrastructureCollection'); }