@@ -1106,23 +1106,31 @@ export class DelegateProxyHandler extends DefaultPrismaProxyHandler {
1106
1106
1107
1107
const modelInfo = getModelInfo ( this . options . modelMeta , model , true ) ;
1108
1108
1109
- for ( const field of Object . values ( modelInfo . fields ) ) {
1109
+ for ( const [ key , value ] of Object . entries ( entity ) ) {
1110
+ if ( key . startsWith ( DELEGATE_AUX_RELATION_PREFIX ) ) {
1111
+ continue ;
1112
+ }
1113
+
1114
+ const field = modelInfo . fields [ key ] ;
1115
+ if ( ! field ) {
1116
+ // not a field, could be `_count`, `_sum`, etc.
1117
+ result [ key ] = value ;
1118
+ continue ;
1119
+ }
1120
+
1110
1121
if ( field . inheritedFrom ) {
1111
1122
// already merged from base
1112
1123
continue ;
1113
1124
}
1114
1125
1115
- if ( field . name in entity ) {
1116
- const fieldValue = entity [ field . name ] ;
1117
- if ( field . isDataModel ) {
1118
- if ( Array . isArray ( fieldValue ) ) {
1119
- result [ field . name ] = fieldValue . map ( ( item ) => this . assembleUp ( field . type , item ) ) ;
1120
- } else {
1121
- result [ field . name ] = this . assembleUp ( field . type , fieldValue ) ;
1122
- }
1126
+ if ( field . isDataModel ) {
1127
+ if ( Array . isArray ( value ) ) {
1128
+ result [ field . name ] = value . map ( ( item ) => this . assembleUp ( field . type , item ) ) ;
1123
1129
} else {
1124
- result [ field . name ] = fieldValue ;
1130
+ result [ field . name ] = this . assembleUp ( field . type , value ) ;
1125
1131
}
1132
+ } else {
1133
+ result [ field . name ] = value ;
1126
1134
}
1127
1135
}
1128
1136
@@ -1147,18 +1155,26 @@ export class DelegateProxyHandler extends DefaultPrismaProxyHandler {
1147
1155
}
1148
1156
}
1149
1157
1150
- for ( const field of Object . values ( modelInfo . fields ) ) {
1151
- if ( field . name in entity ) {
1152
- const fieldValue = entity [ field . name ] ;
1153
- if ( field . isDataModel ) {
1154
- if ( Array . isArray ( fieldValue ) ) {
1155
- result [ field . name ] = fieldValue . map ( ( item ) => this . assembleDown ( field . type , item ) ) ;
1156
- } else {
1157
- result [ field . name ] = this . assembleDown ( field . type , fieldValue ) ;
1158
- }
1158
+ for ( const [ key , value ] of Object . entries ( entity ) ) {
1159
+ if ( key . startsWith ( DELEGATE_AUX_RELATION_PREFIX ) ) {
1160
+ continue ;
1161
+ }
1162
+
1163
+ const field = modelInfo . fields [ key ] ;
1164
+ if ( ! field ) {
1165
+ // not a field, could be `_count`, `_sum`, etc.
1166
+ result [ key ] = value ;
1167
+ continue ;
1168
+ }
1169
+
1170
+ if ( field . isDataModel ) {
1171
+ if ( Array . isArray ( value ) ) {
1172
+ result [ field . name ] = value . map ( ( item ) => this . assembleDown ( field . type , item ) ) ;
1159
1173
} else {
1160
- result [ field . name ] = fieldValue ;
1174
+ result [ field . name ] = this . assembleDown ( field . type , value ) ;
1161
1175
}
1176
+ } else {
1177
+ result [ field . name ] = value ;
1162
1178
}
1163
1179
}
1164
1180
0 commit comments