create method

  1. @override
Future<int> create(
  1. Map<String, Object?> values
)

Create a new row.

var user = User();

var query = await user.cars();
await query.create({'name':'Car 1'});

Implementation

@override
Future<int> create(Map<String, Object?> values) async {
  if (values.isEmpty) {
    throw Exception('Empty values');
  }
  if (query == null) {
    throw Exception('cannot query without relationship');
  }
  String table = query!.split(' ')[0];
  if (!(await eloquent.getColumnNames(table: table))
      .contains(finalForeignKey)) {
    throw Exception('cannot create parent data from child.');
  }
  final db = await eloquent.getDatabase;
  if (!values.keys.contains(finalForeignKey)) {
    values[finalForeignKey!] = primaryValue;
  }
  resetAll();
  return await db.insert(table, values);
}