Я пытаюсь объединить 2 запроса, чтобы передать их в качестве параметров для отображения в моем FirestoreRecyclerView. Все методы, которые я нашел, будут объединять только задачи, и поэтому я могу передать задачу на setQuery. Ниже мой запрос1 и запрос2, и мне нужно объединить их в один запрос для отображения. Как я могу этого добиться?
val query1 = firestoreRepo.getAllGames()
.whereEqualTo(Constants.PLAYER1ID, currentUserID)
.whereEqualTo("player2Id", argsId)
val query2 = firestoreRepo.getAllGames().whereEqualTo("player2Id", currentUserID)
.whereEqualTo("player1Id", argsId)
val options: FirestoreRecyclerOptions<Games> = FirestoreRecyclerOptions.Builder<Games>()
.setQuery(query, Games::class.java)
.setLifecycleOwner(this)
.build()
val gamesMutableList : List<Games> = it.filterIsInstance<Games>() gamesList.addAll(gamesMutableList) }
, чтобы привести List‹Any› к моему классу Games и добавить его в gameList для отображения, но он не работает 22.02.2021SELECT * FROM games WHERE (playerId1 = currentUserId AND playerId2 = argsId) OR (playerId2 = currentUserId AND playerId2 = argsId)
, а затем автоматически загружаться в моем recyclerVIew. Я могу сделать это только с одной частью запроса. С помощью метода, который я нашел на вашем веб-сайте, я смог добиться этого по-другому, но также только с одним запросом, я не могу объединить два из них, чтобы отобразить все как объект игры. 22.02.2021val firstTask = query1.get().addOnCompleteListener { task -> if (task.isSuccessful) { val document: QuerySnapshot? = task.result val games: List<Games> = document?.toObjects(Games::class.java) as List<Games> gamesList.addAll(games) } }
но на комбинированном не работает 22.02.2021