updated findCities query
This commit is contained in:
@@ -36,27 +36,24 @@ class PreorderIFrameModel extends mfBaseModel
|
||||
|
||||
public function findCities(array $params): array
|
||||
{
|
||||
$whereClause = "p.plzstring = " . $this->db->escape($params['zip']);
|
||||
if (!empty($params['gemeindeId'])) {
|
||||
$whereClause .= " AND g.id = " . intval($params['gemeindeId']);
|
||||
} elseif (!empty($params['clusterId'])) {
|
||||
$whereClause .= " AND gn.netzgebiet_id = " . intval($params['clusterId']);
|
||||
} else {
|
||||
return []; // No identifier provided
|
||||
}
|
||||
if (empty($params['gemeindeId']) && empty($params['clusterId'])) return [];
|
||||
|
||||
$query = "
|
||||
SELECT DISTINCT o.name
|
||||
FROM addressdb.Plz p
|
||||
JOIN addressdb.Ortschaft o ON p.gemeinde_id = o.gemeinde_id
|
||||
JOIN addressdb.Gemeinde g ON o.gemeinde_id = g.id
|
||||
LEFT JOIN addressdb.GemeindeNetzgebiet gn ON g.id = gn.gemeinde_id
|
||||
WHERE $whereClause
|
||||
ORDER BY o.name ASC
|
||||
";
|
||||
$sql = "SELECT DISTINCT o.name FROM addressdb.Plz p
|
||||
JOIN addressdb.Ortschaft o ON p.gemeinde_id = o.gemeinde_id
|
||||
JOIN addressdb.Gemeinde g ON o.gemeinde_id = g.id
|
||||
LEFT JOIN addressdb.GemeindeNetzgebiet gn ON g.id = gn.gemeinde_id
|
||||
WHERE p.plzstring = " . $this->db->escape($params['zip']);
|
||||
|
||||
$res = $this->db->query($query);
|
||||
return array_column($this->db->fetch_all_assoc($res), 'name');
|
||||
$cond = !empty($params['gemeindeId'])
|
||||
? " AND g.id = " . intval($params['gemeindeId'])
|
||||
: " AND gn.netzgebiet_id = " . intval($params['clusterId']);
|
||||
|
||||
$rows = $this->db->fetch_all_assoc($this->db->query($sql . $cond));
|
||||
|
||||
if (empty($rows) && empty($params['gemeindeId']))
|
||||
$rows = $this->db->fetch_all_assoc($this->db->query($sql));
|
||||
|
||||
return array_column($rows, 'name');
|
||||
}
|
||||
|
||||
public function findStreets(array $params): array
|
||||
|
||||
Reference in New Issue
Block a user