Здравствуйте, после 2 дней тестирования и просмотра всех сообщений в StackOverflow, я до сих пор не понимаю, почему, когда я пытаюсь получить свое c .ID, я получаю нулевое значение.
Это мой класс для создания вопроса
import 'package:cloud_firestore/cloud_firestore.dart';
class Question {
final String id;
final String text;
final String answer;
final String authorId;
final String receiverId;
final Timestamp timestamp;
Question({
this.id,
this.authorId,
this.text,
this.answer,
this.timestamp,
this.receiverId
});
factory Question.fromDoc(DocumentSnapshot doc){
return Question(
id: doc.documentID,
text: doc["text"],
answer: doc["answer"],
authorId: doc["authorId"],
receiverId: doc["receiverId"],
timestamp: doc["timestamp"],
);
}
}
Я создаю вопрос после onPress
final currentUserId = Provider.of<UserData>(context, listen: false).currentUserId;
Question question = Question(
text: _questionController.text,
receiverId: widget.user.id,
authorId: currentUserId,
timestamp: Timestamp.fromDate(DateTime.now())
);
DatabaseService.sendQuestion(question: question);
Я отправляю данные в мой Database_service
static void sendQuestion({Question question}) {
questionsRef.document(question.id).collection("userQuestions").add({
"question" : question.text,
"receiverId" : question.receiverId,
"authorId" : question.authorId,
"timestamp" : question.timestamp,
});
DatabaseService.addActivityQuestion(question: question);
}
и я создаю уведомление с addActivityQuestion
static void addActivityQuestion({
Question question,
}) async {
activitiesRef.document(question.receiverId).collection("userActivities").add({
"authorId": question.authorId,
"questionId": question.id,
"question": question.text,
"timestamp": Timestamp.fromDate(DateTime.now()),
});
}
И в моей базе данных у меня есть это: результат в моей базе данных, у меня "null" для question.id, почему
Спасибо за ваше время, я все еще начинаю потворствовать мне, это мой первый пост на stackoverflow:)