Я использую плагин Scoped models в своем проекте и не знаю, как сохранить и получить, если таблица не пуста из db Sqflite. пожалуйста, помогите мне.
Вот код в базе данных
addUser(UserModel user) async{
final db = await database;
var table = await db.rawQuery("SELECT MAX(id)+1 as id FROM User");
int id = table.first["id"];
//insert to the table using the new id
var raw = await db.rawInsert(
"INSERT Into Client (id,first_name,last_name,gender,username,email,is_email_verified,birthdate,phone,is_activated)"
" VALUES (?,?,?,?,?,?,?,?,?,?)",
[id, user.firstName, user.lastName, user.gender, user.email, user.isEmailVerified, user.birthdate, user.phone, user.isActivated]);
return raw;
}
и в модели Scoped
UserModel userModel = UserModel(
firstName: profileData.firstName,
lastName: profileData.lastName,
gender: profileData.gender,
username: profileData.username,
email: profileData.email,
isEmailVerified: profileData.isEmailVerified,
birthdate: profileData.birthDate,
phone: profileData.phone,
isActivated: profileData.isActivated,
);
print('usermodel ${userModel.toJson()}');
// here to save?
и класс виджетов,
return Scaffold(
appBar: AppBar(
title: Center(
child: ScopedModelDescendant<MainModel>(
builder: (BuildContext context, Widget child, MainModel model){
return Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
model.isLoading ? Text('name surname', style: TextStyle(color: Colors.white, fontSize: 18, fontWeight: FontWeight.w500)) : Text('${model.profile.firstName} ${model.profile.lastName}', style: TextStyle(color: Colors.white, fontSize: 18, fontWeight: FontWeight.w500),),
Text('Баланс \$0', style: TextStyle(color: Colors.white, fontSize: 15, fontWeight: FontWeight.w300),),
],
);
},
),
),
elevation: 0,
Я должен сохранить в Scoped Model или в классе Widget? и я должен начать в классе виджетов и закрыть?