compileWithRelations method

CompiledMutation compileWithRelations(
  1. JsonQuery query
)

Compile a mutation query with potential relation operations.

This is used when CREATE or UPDATE queries include connect or disconnect operations for many-to-many relations.

Example:

final query = JsonQueryBuilder()
    .model('SlotOfAppointment')
    .action(QueryAction.create)
    .data({
      'id': 'slot-123',
      'startsAt': DateTime.now(),
      'users': {
        'connect': [{'id': 'user-1'}, {'id': 'user-2'}],
      },
    })
    .build();

Implementation

CompiledMutation compileWithRelations(JsonQuery query) {
  final mainQuery = _compileCleanMainMutation(query);
  // Compile-time parent id (may be null on create-with-@default(uuid)); the
  // atomic executor rebuilds these from the RETURNING row for correctness.
  return CompiledMutation(
    mainQuery: mainQuery,
    relationMutations:
        _buildRelationMutations(query, _compileTimeParentId(query)),
  );
}