prepare($sql); $st->execute($params); $routes = $st->fetchAll(); if ($routes) { $ids = implode(',', array_map('intval', array_column($routes, 'id'))); $cntSt = $transit_con->query( "SELECT route_id, COUNT(*) cnt FROM transit_stops WHERE route_id IN ($ids) GROUP BY route_id" ); $counts = $cntSt ? array_column($cntSt->fetchAll(), 'cnt', 'route_id') : []; foreach ($routes as &$r) $r['stop_count'] = (int)($counts[$r['id']] ?? 0); unset($r); } jsonSuccess(['routes' => $routes]);