ฉันกำลังสร้างแอป Hospital อย่างรวดเร็ว เป้าหมายของฉันคือการกำหนดค่า firebase ในลักษณะที่คอลเลกชันรูทมีชื่อว่า User/uid (uid ซึ่งสร้างขึ้นโดยอัตโนมัติเมื่อสร้างผู้ใช้) / someText / documentID (สร้างโดยอัตโนมัติโดย Firebase) นี่คือรหัสของฉัน:
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:mgm_app/models/vaccList.dart';
class DatabaseService {
final String uid;
DatabaseService({this.uid});
CollectionReference userReg = Firestore.instance.collection('User');
CollectionReference vaccTaken = Firestore.instance.collection('User').document(uid).collection('Vaccine Administered');
Future regUserData(String email) async {
return await userReg.document(uid).setData({
'email': email,
});
}
Future updateUserData(String vaccName,String dateAdmin) async {
return await vaccTaken.document().setData({
'name': vaccName,
'vaccine given': dateAdmin,
}
);
}
เมื่อผู้ใช้ใหม่ลงทะเบียน เอกสารที่มี uid จะถูกสร้างขึ้นโดยอัตโนมัติในคอลเลกชันผู้ใช้ แต่เมื่อฉันพยายามป้อนข้อมูลส่วนบุคคลในโฟลเดอร์ User/uid/VaccineAdmnistered ฉันไม่สามารถส่งค่าของ uid ผู้ใช้ปัจจุบันในบรรทัดโค้ดนี้ได้
Firestore.instance.collection('User').document(uid).collection('Vaccine Administered');
ข้อผิดพลาดที่ฉันได้รับคือ
Only static members can be accessed in initializers.