insert method

Future<RowData?> insert({
  1. List<Object>? columns,
  2. List<Object>? excludes,
  3. SQLExecutor? executor,
})

Implementation

Future<RowData?> insert({List<Object>? columns, List<Object>? excludes, SQLExecutor? executor}) async {
  List<MapEntry<TableColumn, dynamic>> ls = _fieldValues(columns: columns, excludes: excludes);
  ls.retainWhere((e) => e.value != null);
  if (columns != null && columns.isNotEmpty) {
    ls.retainWhere((e) => columns.contains(e.key.columnName));
  }
  if (ls.isEmpty) return null;
  Returning ret = Returning.ALL;
  RowData? row = await (executor ?? _executor).insert(_tableName, values: ls, returning: ret);
  if (row != null) {
    this.model.addAll(row.toMap());
  }
  return row;
}