getApartmentsByBlock($blockId, $catalogId); if ($isFavorite) { foreach ($apartmentIds as $apartmentId) { $query = "INSERT INTO catalogs_apartments_favorite (catalog_id, apartment_id) VALUES ('$catalogId', '$apartmentId')"; $this->db->query($query); } } else { foreach ($apartmentIds as $apartmentId) { $query = "DELETE FROM catalogs_apartments_favorite WHERE catalog_id = '$catalogId' AND apartment_id = '$apartmentId'"; $this->db->query($query); } } return $apartmentIds; } private function getApartmentsByBlock($blockId, $catalogId) { // Валидация и санитизация входных данных if (!is_numeric($blockId) || !is_numeric($catalogId)) { return []; } $blockId = intval($blockId); $catalogId = intval($catalogId); $query = "SELECT apartments.id FROM apartments JOIN blocks on blocks.id = '$blockId' WHERE apartments.id IN ( SELECT id_object FROM sended_pdf_newbuildings WHERE sent_catalog_id = '$catalogId' AND apartments.block_id = '$blockId') GROUP BY apartments.id"; $result = []; $rezSearch = $this->db->query($query); while ($row = $this->db->fetch_assoc($rezSearch)) { $result[] = $row['id']; } return $result; } }