in this below class I have a private constructor with getter
, unfortunately, I cant use this getter as userDao
from outside of class, I get this error:
Instance member 'userDao' can't be accessed using static access.
class MydbModel {
UserDao _userDao;
MydbModel._(this._userDao);
static Future<MydbModel> create() async => MydbModel._(await fn());
static fn() {
MyDatabase myDatabase = MyDatabase();
myDatabase.initialDatabase();
return myDatabase.getUserDao();
}
UserDao get userDao=>_userDao;
}
for example:
final UserDao userDao = MydbModel.userDao;
this implementation means i use await
on this constructor without create new instance from that to use and define this codes:
MyDatabase myDatabase = MyDatabase();
myDatabase.initialDatabase();
return myDatabase.getUserDao();
for example:
class MyDatabase {
AppDatabase db;
UserDao userDao;
Future<void> initialDatabase() async {
db = await $FloorAppDatabase.databaseBuilder('flutter_database.db').build();
}
UserDao getUserDao() {
return db.userDao;
}
}