compileWithRelations method
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)),
);
}