putSingleGetId<T> method
Future
putSingleGetId<
T>( - T entity
)
Implementation
Future putSingleGetId<T>(T entity) async {
if (entity == null) {
throw IllegalArgumentException('Dblayer@putSingle entity not defined');
}
var ormDefinitions = _validateModel(entity);
var id, query;
var mainInsertData = ormDefinitions.data;
// if is Relations
if (ormDefinitions.isRelations()) {
var len = ormDefinitions.relations!.length;
for (var i = 0; i < len; i++) {
var relation = ormDefinitions.relations![i];
if (relation.data != null) {
query = insertGetId(defaultIdColName: relation.localKey)
.setAll(relation.data)
.into(relation.tableRelation);
id = (await query.exec())[0][0];
mainInsertData![relation.foreignKey] = id;
}
}
query = insertGetId(defaultIdColName: ormDefinitions.primaryKey)
.setAll(mainInsertData)
.into(ormDefinitions.tableName);
id = (await query.exec())[0][0];
} else {
var query = insertGetId(defaultIdColName: ormDefinitions.primaryKey)
.setAll(mainInsertData)
.into(ormDefinitions.tableName);
id = (await query.exec())[0][0];
}
return id;
}